diff options
author | Nguyễn Gia Phong <mcsinyx@disroot.org> | 2020-02-28 22:09:59 +0700 |
---|---|---|
committer | Nguyễn Gia Phong <mcsinyx@disroot.org> | 2020-02-28 22:09:59 +0700 |
commit | 29cd51b76067e02683b9b95f4ce2582eac8669e4 (patch) | |
tree | 3c0ae6ffa9bdd7d48cedf29c4a4f05d301a85fac /mips/chapter-3/exercise-4.s | |
parent | 70c413d6c86cb01df2a3a5dd8b2bc8a80c3d4317 (diff) | |
download | cp-29cd51b76067e02683b9b95f4ce2582eac8669e4.tar.gz |
[mips] Finish chapter 3
Diffstat (limited to 'mips/chapter-3/exercise-4.s')
-rw-r--r-- | mips/chapter-3/exercise-4.s | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/mips/chapter-3/exercise-4.s b/mips/chapter-3/exercise-4.s new file mode 100644 index 0000000..29888f1 --- /dev/null +++ b/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 |