diff options
Diffstat (limited to 'lang/mips/chapter-3/exercise-4.s')
-rw-r--r-- | lang/mips/chapter-3/exercise-4.s | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/lang/mips/chapter-3/exercise-4.s b/lang/mips/chapter-3/exercise-4.s new file mode 100644 index 0000000..29888f1 --- /dev/null +++ b/lang/mips/chapter-3/exercise-4.s @@ -0,0 +1,20 @@ +# t0 = 0b11001, using only bit shift and add + .text +main: + li $t0, 0 # t0 = 0 + addi $t0, $t0, 1 # t0++ + sll $t0, $t0, 1 # t0 <<= 1 + addi $t0, $t0, 1 # t0++ + sll $t0, $t0, 3 # t0 <<= 3 + addi $t0, $t0, 1 # t0++ + + 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 |