Q. y[7] = y[15] - c + d, let c stored in reg.17, d in reg.13, base address of y = 3850120(10)
3850120(10) = 0011 1010 1011 1111 1000 1000(2)
|---58---| |------49032------|
lui $s1, 100 #load upper immediate, $s1 = 100 * 2^16, $s1의 상위 16비트에 constant 100 로드
ori $s1, $s2, 100 #or immediate, $s1 = $s2 | 100, 상수와 bitwise-OR
lui $9, 58
ori $9, $9, 49032 #$9 becomes base address, y[0]의 주소값은 $9
lw $10, 60($9) #15*4 = 60, word가 4byte 이므로 4곱, y[15](=$10)의 base address는 $9+60, y[15] = Mem[$9+60]
sub $10, $10, $17 #$10 = $10 - $17
add $10, $10, $13 #$10 = $10 - $13
sw $10, 28($9) #y[7]에 $10값 저장
'Computer > Architecture' 카테고리의 다른 글
Datapath - PC (0) | 2012.07.22 |
---|---|
MIPS Reference (0) | 2012.07.22 |
Arithmetic (0) | 2012.07.20 |
Imm, unsigned (0) | 2012.07.20 |
Program Counter -> Instruction Memory (0) | 2012.07.20 |