about summary refs log tree commit diff
path: root/lang/mips/chapter-2/exercise-3.s
diff options
context:
space:
mode:
authorNguyễn Gia Phong <mcsinyx@disroot.org>2021-02-28 17:25:57 +0700
committerNguyễn Gia Phong <mcsinyx@disroot.org>2021-02-28 17:25:57 +0700
commit67bb27e9f5beec4d8ca0a6c29f045d5f23d6f40f (patch)
treeb677228d71b638dd6e423b037311ef0913ba66e7 /lang/mips/chapter-2/exercise-3.s
parentee9b8fc921f48dc893808e1c9dbfbef321aa362c (diff)
downloadcp-67bb27e9f5beec4d8ca0a6c29f045d5f23d6f40f.tar.gz
[lang] Reorganize language learning archive
Diffstat (limited to 'lang/mips/chapter-2/exercise-3.s')
-rw-r--r--lang/mips/chapter-2/exercise-3.s22
1 files changed, 22 insertions, 0 deletions
diff --git a/lang/mips/chapter-2/exercise-3.s b/lang/mips/chapter-2/exercise-3.s
new file mode 100644
index 0000000..d82da72
--- /dev/null
+++ b/lang/mips/chapter-2/exercise-3.s
@@ -0,0 +1,22 @@
+# t0 = (s1 - s0 / s2) * s4
+	.text
+main:
+	li	$s1,	4		# s1 = 4
+	li	$s0,	20		# s0 = 20
+	li	$s2,	6		# s2 = 6
+	li	$s4,	9		# s4 = 9
+
+	div	$t0,	$s0,	$s2	# t0 = s0 / s2
+	sub	$t0,	$s1,	$t0	# t0 = s1 - t0
+	mul	$t0,	$t0,	$s4	# t0 *= s4
+
+	li	$v0,	1		# print integer
+	move	$a0,	$t0		# at t0
+	syscall
+
+	li	$v0,	11		# print character
+	li	$a0,	10		# newline
+	syscall
+
+	li	$v0,	10		# terminate
+	syscall