MIPS核心指令续3

数据传输(指令格式) DT DT DT DT DT
指令种类 ARM v.4 Thumb SuperH M32R MIPS16
加载有符号字节 LDRSB LDRSB MOV.B LDB LB
加载无符号字节 LDRB LDRB MOV.B; EXTU.B LDUB LBU
加载有符号半字 LDRSH LDRSH MOV.W LDH LH
加载无符号半字 LDRH LDRH MOV.W; EXTU.W LDUH LHU
加载一个字 LDR LDR MOV.L LD LW
保存字节 STRB STRB MOV.B STB SB
保存半字 STRH STRH MOV.W STH SH
保存一个字 STR STR MOV.L ST SW
读写特殊寄存器 MRS, MSR - LDC, STC MVFC, MVTC MOVE

表14:MIPS对应的嵌入式指令传输指令。等价MIPS指令的几条顺序指令,由分号分隔。注意的是嵌入式RISC一般没有浮点指令定义。Thumb和MIPS16是16位指令,是ARM和MIPS指令集的子集,可以在执行中切换模式,到执行完整的指令集。破折号1说明存在32位指令,但是不存在16指令。

算术/逻辑(指令格式) R-R, R-I R-R, R-I R-R, R-I R-R, R-I R-R, R-I
指令种类 ARM v.4 Thumb SuperH M32R MIPS16
加法 ADD ADD ADD ADD, ADDI, ADD3 ADDU, ADDIU
加法(溢出触发异常) ADDS; SWIVS ADDS; BVC .+4; SWI ADDV ADDV, ADDV3 —(1)
减法 SUB SUB SUB SUB SUBU
减法(溢出触发异常) SUBS; SWIVS ADDS; BVC .+4; SWI SUBV SUBV —(1)
乘法 MUL MUL MUL MUL MULT, MULTU
除法 DIV1, DIVoS, DIVoU DIV, DIVU DIV, DIVU
AND AND AND AND, AND3 AND
ORR ORR OR OR, OR3 OR
异或 EOR EOR XOR XOR, XOR3 XOR
加载寄存器高位 SETH —(1)
逻辑左移 LSL(3) LSL(2) SHLL, SHLLn SLL, SLLI, SLL(3) SLLV, SLL
逻辑右移 LSR(3) LSR(2) SHRL, SHRLn SRL, SRLI, SRL(3) SRLV, SRL
算术右移 ASR(3) ASR(2) SHRA, SHAD SRA, SRAI, SRA(3) SRAV, SRA
比较 CMP, CMN, TST, TEQ CMP, CMN, TST CMP/cond, TST CMP/I, CMPU/I CMP/I(2), SLT/I, SLT/IU

表15:MIPS对应的嵌入式RISC算术/逻辑指令。破折号代表那个体系结构没有对应的指令,或者说不是几条指令就可以得到等价的操作。等价MIPS指令的几条顺序指令,由分号分隔,如果有好几条指令可以对应,则用逗号分隔。Thumb和MIPS16是16位指令,是ARM和MIPS指令集的子集,可以在执行中切换模式,到执行完整的指令集。括号1说明存在32位指令,但是不存在16位指令。括号2代表只存在16位的模式中。ARM在所有数据操作指令中都可以移位,因此括号3代表是move指令的一个变种,比如LSR(3)。

控制(指令格式) B,J,C B,J,C B,J,C B,J,C B,J,C
指令种类 ARM v.4 Thumb SuperH M32R MIPS16
整数比较分支 B/cond B/cond BF, BT BEQ, BNE, BC, BNC, B_Z BEQZ(2), BNEZ(2), BTEQZ(2), BTNEZ(2)
跳转,寄存器跳转 MOV pc,ri MOV pc,ri BRA, JMP BRA, JMP B2, JR
调用,寄存器调用 BL BL BSR, JSR BL, JL JAL, JALR, JALX(2)
Trap SWI SWI TRAPA TRAP BREAK
从中断返回 MOVS pc, r14 —(1) RTS RTE —(1)

表16:MIPS对应的嵌入式RISC控制指令。Thumb和MIPS16是16位指令,是ARM和MIPS指令集的子集,可以在执行中切换模式,到执行完整的指令集。破折号括号1说明存在32位指令,但是不存在16指令。括号2代表只存在16位的模式中。

约定 ARM v.4 Thumb SuperH M32R MIPS16
返回地址寄存器 R14 R14 PR(特殊) R14 RA(特殊)
空操作 MOV r0, r0 MOV r0, r0 NOP NOP SLL r0, r0
操作数顺序 OP Rd, Rs1, Rs2 OP Rd, Rs1 OP Rs1, Rd OP Rd, Rs1 OP Rd, Rs1, Rs2

表17:MIPS对应的嵌入式RISC约定。

results matching ""

    No results matching ""