分类:
2010-06-17 09:39:44
数据类型 |
CPU |
协处理器1和2 | |||
加载无符号数 |
加载有符号数 |
存储 |
加载 |
存储 | |
字节 |
MIPS32 |
MIPS32 |
MIPS32 |
|
|
半字 |
MIPS32 |
MIPS32 |
MIPS32 |
|
|
字 |
MIPS32 |
MIPS32 |
MIPS32 |
MIPS32 |
MIPS32 |
双字(FPU) |
|
|
|
MIPS32 |
MIPS32 |
未对齐字 |
MIPS32 |
|
MIPS32 |
|
|
关联字(原子修改) |
MIPS32 |
|
MIPS32 |
|
|
助记符 |
指令格式 |
指令功能 |
实例 |
LB |
LB rt , offset (base) |
加载字节 |
LB a0, 4 (a1) |
LBU |
LBU rt , offset (base) |
加载无符号字节 |
LBU t0 , 7 (t3) |
SB |
SB rt , offset (base) |
存储字节 |
SB a0 , 3 (a3) |
LH |
LH rt , offset (base) |
加载半字 |
LH s2 , 5 (s5) |
LHU |
LHU rt , offset (base) |
加载无符号半字 |
LHU t0 , 6 (t3) |
SH |
SH rt , offset (base) |
存储半字 |
SH s4, 18 (s1) |
LW |
LW rt , offset (base) |
加载字 |
LW v0 ,6 (a1) |
SW |
SW rt , offset (base) |
存储字 |
SW s6 , 1 (t3) |
LWL* |
LWL rt , offset (base) |
加载字头 |
LWL a1 , 3 (t0) |
LWR* |
LWR rt , offset (base) |
加载字尾 |
LWR s2 , 5(a2) |
SWL* |
SWL rt , offset (base) |
存储字头 |
SWL s5 , 3 (t4) |
SWR* |
SWR rt , offset (base) |
存储字尾 |
SWR a3 , 8 (a0) |
LL* |
LL rt , offset (base) |
加载关联 |
LL t1 , 0 (t0) |
SC* |
SC rt , offset (base) |
条件存储 |
SC t2, 0 (t0) |
MIPS加载和存储指令的命名规则如下:
1) 首字母L表示加载(Load),S表示存储(Store)
2) 首字母U表示无符号(Unsigned),其余默认为有符号(Signed)
3) 尾字母R表示右(Right),L表示左(Left)
4) 字母B示字节(Byte),H表示半字(Halfword),W表示字(Word)
--(待续:由于时间关系先就写到这里,晚上接着写)