From 9e37e768b4694038a757366fcdf8e4c6e3ca788d Mon Sep 17 00:00:00 2001 From: Nguyễn Gia Phong Date: Mon, 10 Feb 2020 17:49:10 +0700 Subject: [mips] Finish the second chapter --- mips/chapter-2/exercise-1/k.s | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 mips/chapter-2/exercise-1/k.s (limited to 'mips/chapter-2/exercise-1/k.s') diff --git a/mips/chapter-2/exercise-1/k.s b/mips/chapter-2/exercise-1/k.s new file mode 100644 index 0000000..60c0038 --- /dev/null +++ b/mips/chapter-2/exercise-1/k.s @@ -0,0 +1,28 @@ +# while (t0) { s1 += t0; t0 = *++t2; } + .data +array: .word 4, 2, 0, 6, 9 + + .text +main: + la $t2, array # t2 = array + lw $t0, ($t2) # t0 = *t2 + li $s1, 0 # s1 = 0 + +while: + beqz $t0, end # if (!t0) goto end + add $s1, $s1, $t0 # s1 += t0 + addi $t2, $t2, 4 # t2++ + lw $t0, ($t2) # t0 = *t2 + j while # goto while +end: + + li $v0, 1 # print integer + move $a0, $s1 # at s1 + syscall + + li $v0, 11 # print character + li $a0, 10 # newline + syscall + + li $v0, 10 # terminate program run + syscall -- cgit 1.4.1