diff options
author | Nguyễn Gia Phong <mcsinyx@disroot.org> | 2021-02-28 17:25:57 +0700 |
---|---|---|
committer | Nguyễn Gia Phong <mcsinyx@disroot.org> | 2021-02-28 17:25:57 +0700 |
commit | 67bb27e9f5beec4d8ca0a6c29f045d5f23d6f40f (patch) | |
tree | b677228d71b638dd6e423b037311ef0913ba66e7 /lang/mips/chapter-3/exercise-4.s | |
parent | ee9b8fc921f48dc893808e1c9dbfbef321aa362c (diff) | |
download | cp-67bb27e9f5beec4d8ca0a6c29f045d5f23d6f40f.tar.gz |
[lang] Reorganize language learning archive
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 |