LoginSignup
0
0

More than 5 years have passed since last update.

直訳☆MIPSっ

Last updated at Posted at 2014-07-19

C言語はわかるけどMIPSはわからない人へ

C言語にはない考え方

レジスタの話

まだ書いてない

記述のない命令

コンピュータが勝手にやってくれるのでCに対応する記述はありません.

lw(Load Word)

配列を読み込む

C言語
a = x[8];
MIPS
lw  $t0, 32($t1)
mv $t1 , $t0 # <- a = x[8];
# $t0はx[8]を仮に保存しておくレジスタ
# $t1はxの先頭を指すアドレス
# ()の前に添字*4の数字を書く

sw(StoreWord)

配列に書き込む

C言語
x[10] = a;
MIPS
sw $t1, 400($t0)

item[i] の場合,

MIPS

対訳 MIPS

代入

C言語
a = b;
MIPS
move $t0, $t1
## 擬似言語

こう書けばしたいことできるけど読む人になにするかわかりにくいから擬似言語にしようって感じー
擬似言語を使わずに書くと,

MIPS
add $t0, $t1, $zero

となるんだけどaddしたいわけじゃないし,この命令でしたいことがわかりにくい.

加法

C言語
a = b + c;
a = b + 4;
MIPS
add  $t0 , $t1 , $t2
addi $t0, $t1, 4

ループ

C言語
for(i = 0; i < 10; i++){
  item[i] = 0;
}
MIPS
  move $t0, $zero 
loop:
  sw $zero, 
exit:

if

C言語

MIPS
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0