MIPS核心指令续2
控制(指令格式) | B, J/C | B, J/C | B, J/C | B, J/C | B, J/C |
---|---|---|---|---|---|
指令种类 | Alpha | MIPS64 | PA-RISC 2.0 | PowerPC | SPARC v.9 |
整数比较分支 | B_(<, >, <=, >=, =, not=) | BEQ, BNE, B_Z (<, >, <=, >=) | COMB, COMIB | BC | BR_Z, BPcc(<, >, <=, >=, =, not=) |
浮点比较分支 | FB_(<, >, <=, >=, =, not=) | BC1T, BC1F | FSTWX F0; LDW t; BB t | BC | FBPfcc(<, >, <=, >=, =, not=) |
跳转,寄存器跳转 | BR, JMP | J, JR | BL r0, BLR r0 | B, BCLR, BCCTR | BA, JMPL r0,… |
调用,寄存器调用 | BSR | JAL, JALR | BL, BLE | BL, BLA, BCLRL, BCCTRL | BCCTRL CALL, JMPL |
Trap | CALL_PAL GENTRAP | BREAK | BREAK | TW, TWI | Ticc, SIR |
从中断返回 | CALL_PAL REI | JR; ERET | RFI, RFIR | RFI | DONE, RETRY, RETURN |
表11:MIPS对应的桌面RISC控制指令。等价MIPS指令的几条顺序指令,由分号分隔,如果有好几条指令可以对应,则用逗号分隔。
浮点(指令格式) | R-R | R-R | R-R | R-R | R-R |
---|---|---|---|---|---|
指令种类 | Alpha | MIPS64 | PA-RISC 2.0 | PowerPC | SPARC v.9 |
单精度,双精度加法 | ADDS, ADDT | ADD.S, ADD.D | FADD, FADD/db1 | FADDS, FADD | FADDS, FADDD |
单精度,双精度减法 | SUBS, SUBT | SUB.S, SUB.D | FSUB, FSUB/db1 | FSUBS, FSUB | FSUBS, FSUBD |
单精度,双精度乘法 | MULS, MULT | MUL.S, MUL.D | FMPY, FMPY/db1 | FMULS, FMUL | FMULS, FMULD |
单精度,双精度除法 | DIVS, DIVT | DIV.S, DIV.D | FDIV, FDIV/db1 | FDIVS, FDIV | FDIVS, FDIVD |
比较 | CMPT_ (=, <, <=, UN) | C_.S, C_.D (<, >, <=, >=, =, …) | FCMP, FCMP/db1 (<, =, >) | FCMP | FCMPS, FCMPD |
R-R赋值 | ADDT Fd, F31, Fs | MOV.S, MOV.D | FCPY | FMV | FMOVS/D/Q |
转换(单精度,双精度,整数)到(单精度,双精度,整数) | CVTST, CVTTS, CVTTQ, CVTQS, CVTQT | CVT.S.D, CVT.D.S, CVT.S.W, CVT.D.W, CVT.W.S, CVT.W.D | FCNVFF,s,d FCNVFF,d,s FCNVXF,s,s FCNVXF,d,dFCNVFX,s,s FCNVFX,d,d | -, FRSP, -, FCTIW, -, - | FSTOD, FDTOS, FSTOI, FDTOI, FITOS, FITOD |
表12:MIPS对应得桌面RISC浮点指令。破折号代表那个体系结构没有对应的指令,或者说不是几条指令就可以得到等价的操作。等价MIPS指令的几条顺序指令,由分号分隔,如果有好几条指令可以对应,则用逗号分隔。
约定 | Alpha | MIPS64 | PA-RISC 2.0 | PowerPC | SPARC v.9 |
---|---|---|---|---|---|
值是0的寄存器 | r31(源) | r0 | r0 | r0(寻址) | r0 |
返回地址寄存器 | (任意) | R31 | R2, r31 | Link(特殊) | R31 |
空操作 | LDQ_U r31, … | SLL r0, r0, r0 | OR r0, r0, r0 | ORI r0, r0, #0 | SETHI r0, 0 |
整数R-R赋值 | BIS…, r31, … | ADD…, r0, … | OR…, r0, … | OR rx, ry, ry | OR…, r0, … |
操作数顺序 | OP Rs1, Rs2, Rd | OP Rd, Rs1, Rs2 | OP Rs1, Rs2, Rd | OP Rd, Rs1, Rs2 | OP Rs1, Rs2, Rd |
表13:MIPS对应的桌面RISC约定。