MIPS硬体結構:
常用的暫存器
名稱 | 暫存器號碼 | 用途 |
$zero | 0 | 常數0 |
$at | 1 | 保留給組譯器在處理大型常數時使用 |
$v0 - $ v1 | 2 – 3 | 傳回值暫存器 |
$a0 - $ a3 | 4 – 7 | 參數暫存器 |
$t0 - $ t7 | 8 – 15 | 臨時暫存器 |
$s0 - $ s7 | 16 – 23 | 保留暫存器 |
$t8 - $ t9 | 24 - 25 | 額外的臨時暫存器 |
$k0 | 26 | 保留給o.s核心使用 |
$k1 | 27 | 保留給o.s核心使用 |
$gp | 28 | 全域指標 |
$sp | 29 | 堆疊指標 |
$fp | 30 | 框指標 |
$ra | 31 | 返回位址 |
MIPS指令格式
格式 | 6bit | 5bit | 5bit | 5bit | 5bit | 6bit |
R | Op | rs | rt | rd | shamt | funct |
I | Op | rs | rt | address/data | ||
J | Op | address |
重要的指令碼:
add : op =0 ,funct=32
sub : op =0 ,funct=34
lw : op =35 #讀檔
sw : op =43 #存檔
beq : op =4 #比較是否相等
bne : op =5 #比較是否不相等
sll : op =0 ,funct=0 #左移
slt : op =0 ,funct=42 #比較大小
addi: op= 8 #加法(立即值用)
j : op= 2
全站熱搜
留言列表