2013年度 中間試験時に配布した参考資料

MIPS 命令の要約 v1.1
比較命令
アセンブリ命令
ロード/ストア命令
lb
lbu
rd,si16(rs)
rd,si16(rs)
Load Byte
Load
Byte
lh
rd,si16(rs)
overflow
Load Halfword
lhu
rd,si16(rs)
lw
rd,si16(rs)
Load Halfword without
overflow
Load Word
sb
sh
rs,si16(rt)
rs,si16(rt)
Store Byte
Store Halfword
sw
li
la
rs,si16(rt)
rd,si32
rd,label
Store Word
Load Immediate
Load address
without
算術命令・論理演算命令
add
rd,rs,rosi16
Add
addu
sub
subu
rd,rs,rosi16
rd,rs,rosi16
rd,rs,rosi16
Add without overflow
Subtract
Subtract without overflow
not
and
rd,rs
rd,rs,roui16
Not
AND
or
xor
nor
rd,rs,roui16
rd,rs,roui16
rd,rs,roui16
OR
Exclusive OR
NOR
シフト命令
sll
rd,rt,roui5
Shift Left Logical
slt
rd,rs,rosi16
Set on Less Than
sltu
rd,rs,roui16
Set on Less Than without
overflow
ジャンプ/分岐命令
j
b
label(or rs)
label
Jump
Branch
bal
beq
label
rs,rt,label
Branch and Link
Branch on Equal
bne
blez
rs,rt,label
rs,label
Branch on Not Equal
Branch on Less than or
Equal Zero
bgtz
rs,label
Branch on Greater Than
Zero
bltz
bgez
rs,label
rs,label
Branch on Less Than Zero
Branch on Greater than or
Equal to Zero
記号
rs,rt,rd
si16
ui16
汎用レジスタ
rosi16
roui16
レジスタか 16bit の符号つき整数
si32
roui5
32 bit の符号つき整数
レジスタか 5bit の符号なし整数
16 bit の符号つき整数
16 bit の符号なし整数
レジスタか 16bit の符号なし整数
srl
rd,rt,roui5
sra
rd,rt,roui5
乗算/除算命令等
Shift Right Logical
Shift Right Arithmetic
アセンブラ指令
.data
データを置く場所の宣言
mult
multu
rs,rt
rs,rt
Multiply
Multiply without overflow
実行コードを置く場所の宣言
div
divu
mfhi
rs,rt
rs,rt
rd
Divide
Divide without overflow
Move From HI
.text
.globl label
.word x,y,...
.byte x,y,...
.ascii “abc...”
byte の定数を並べる
文字データを並べる
mflo
mthi
rd
rs
Move From LO
Move To HI
文字データを並べ最後に 0 をつける
mtlo
rs
Move To LO
.asciiz “abc...”
.space size
.align n
.ent label
.end label
サブルーチンの先頭の宣言
グローバルシンボルの宣言
word の定数を並べる
size byte の大きさの領域を確保
番地を 2n で揃える
サブルーチンの終りの宣言