| | 78 | 変数A,B, Cは、メモリ上に以下のように配置されているとします。 |
| | 79 | それぞれは32ビットワードの変数であり、1変数につき4バイトのアドレス空間を占めます。 |
| | 80 | |
| | 81 | || 変数 || アドレス(16進数) || 初期値(10進数) || 結果(10進数) || |
| | 82 | || A || 0x0 || 19 || 19 || |
| | 83 | || B || 0x4 || 75 || 75 || |
| | 84 | || C || 0x8 || 0 || 94 || |
| | 85 | |
| | 86 | MIPSプロセッサでの演算はレジスタ間でのみ行うことができます。 |
| | 87 | したがって、メモリの中のデータを演算するためには一度レジスタの中にデータをロードし、 |
| | 88 | 演算を行った後に演算結果をメモリにストアしなければなりません。 |
| | 89 | そのようなプログラムを下に示します。 |
| | 90 | |
| | 91 | {{{ |
| | 92 | .data |
| | 93 | A: .word 19 |
| | 94 | B: .word 75 |
| | 95 | C: .word 0 |
| | 96 | .text |
| | 97 | main: lw $8, A |
| | 98 | lw $9, B |
| | 99 | add $10, $8, $9 |
| | 100 | sw $10, C |
| | 101 | exit: j exit |
| | 102 | }}} |
| | 103 | |
| | 104 | |