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约定。

results matching ""

    No results matching ""