Changes between Version 2 and Version 3 of Ex02_CA_2022
- Timestamp:
- Apr 18, 2022 5:01:40 PM (4 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Ex02_CA_2022
v2 v3 11 11 1ビット左シフトは2倍することと同等なので加算命令によって実現できます。 12 12 13 レジスタ$t0を1ビット左シフトして結果をレジスタ$t1に保持する: 14 13 15 シフト命令を使う場合: 14 16 {{{ 15 sll $ 8,$9,117 sll $t1,$t0,1 16 18 }}} 17 19 18 20 加算命令の場合: 19 21 {{{ 20 add $ 8,$9,$922 add $t1,$t0,$t0 21 23 }}} 22 24 … … 49 51 シフト命令を使う場合: 50 52 {{{ 51 srl $ 8,$8,152 andi $ 9,$8,153 srl $t0,$t0,1 54 andi $t1,$t0,1 53 55 }}} 54 56 55 57 加算命令の場合: 56 58 {{{ 57 addi $ 10,$0,1 # $10に1を代入(前処理)59 addi $t2,$t2,1 # $t2に1を代入(前処理) 58 60 : 59 addu $ 10,$10,$10# 左シフト。通常でslr命令だった部分に相当60 and $ 9,$8,$10 # 通常でandi命令だった部分に相当61 addu $t2,$t2,$t2 # 左シフト。通常でslr命令だった部分に相当 62 and $t1,$t0,$t2 # 通常でandi命令だった部分に相当する。この後、$t1の値に応じてbeq命令を使う 61 63 }}} 62 64
