insmips.h
来自「开放源码的编译器open watcom 1.6.0版的源代码」· C头文件 代码 · 共 237 行 · 第 1/2 页
H
237 行
inspick( LUI, "lui", s(0x0f,0x00), 0xffe00000, MIPSImmed1 )
inspick( MFC0, "mfc0", d(0x10,0x00), 0xffe007ff, MIPSReg2 )
inspick( MFHI, "mfhi", s(0x00,0x10), 0xffff07ff, MIPSRegD )
inspick( MFLO, "mflo", s(0x00,0x12), 0xffff07ff, MIPSRegD )
inspick( MTC0, "mtc0", d(0x10,0x04), 0xffe007ff, MIPSReg2 )
inspick( MTHI, "mthi", s(0x00,0x11), 0xfc1fffff, MIPSRegS )
inspick( MTLO, "mtlo", s(0x00,0x13), 0xfc1fffff, MIPSRegS )
inspick( MULT, "mult", s(0x00,0x18), 0xfc00ffff, MIPSMulDiv )
inspick( MULTU, "multu", s(0x00,0x19), 0xfc00ffff, MIPSMulDiv )
inspick( NOR, "nor", s(0x00,0x27), 0xfc0007ff, MIPSReg3 )
inspick( OR, "or", s(0x00,0x25), 0xfc0007ff, MIPSReg3 )
inspick( ORI, "ori", s(0x0d,0x00), 0xfc000000, MIPSImmed2U )
// All store instructions
inspick( SB, "sb", s(0x28,0x00), 0xfc000000, MIPSMemory )
inspick( SC, "sc", s(0x38,0x00), 0xfc000000, MIPSMemory )
inspick( SCD, "scd", s(0x3c,0x00), 0xfc000000, MIPSMemory )
inspick( SD, "sd", s(0x3f,0x00), 0xfc000000, MIPSMemory )
inspick( SDL, "sdl", s(0x2c,0x00), 0xfc000000, MIPSMemory )
inspick( SDR, "sdr", s(0x2d,0x00), 0xfc000000, MIPSMemory )
inspick( SH, "sh", s(0x29,0x00), 0xfc000000, MIPSMemory )
inspick( SW, "sw", s(0x2b,0x00), 0xfc000000, MIPSMemory )
inspick( SWL, "swl", s(0x2a,0x00), 0xfc000000, MIPSMemory )
inspick( SWR, "swr", s(0x2e,0x00), 0xfc000000, MIPSMemory )
inspick( SDC1, "sdc1", s(0x3d,0x00), 0xfc000000, MIPSFPUMemory )
inspick( SWC1, "swc1", s(0x39,0x00), 0xfc000000, MIPSFPUMemory )
// Other SWCz/SDCz instructions
inspick( RFE, "rfe", 0x42000010, 0xffffffff, MIPSNull )
inspick( SLL, "sll", s(0x00,0x00), 0xffe0003f, MIPSShift )
inspick( SLLV, "sllv", s(0x00,0x04), 0xfc0007ff, MIPSReg3 )
inspick( SLT, "slt", s(0x00,0x2a), 0xfc0007ff, MIPSReg3 )
inspick( SLTI, "slti", s(0x0a,0x00), 0xfc000000, MIPSImmed2 )
inspick( SLTIU, "sltiu", s(0x0b,0x00), 0xfc000000, MIPSImmed2 )
inspick( SLTU, "sltu", s(0x00,0x2b), 0xfc0007ff, MIPSReg3 )
inspick( SRA, "sra", s(0x00,0x03), 0xffe0003f, MIPSShift )
inspick( SRAV, "srav", s(0x00,0x07), 0xfc0007ff, MIPSReg3 )
inspick( SRL, "srl", s(0x00,0x02), 0xffe0003f, MIPSShift )
inspick( SRLV, "srlv", s(0x00,0x06), 0xfc0007ff, MIPSReg3 )
inspick( SUB, "sub", s(0x00,0x22), 0xfc0007ff, MIPSReg3 )
inspick( SUBU, "subu", s(0x00,0x23), 0xfc0007ff, MIPSReg3 )
// Note extra spaces to get longer max instruction length (for FPU instructions)
inspick( SYNC, "sync ", 0x0000000f, 0xffffffff, MIPSNull )
inspick( SYSCALL, "syscall", s(0x00,0x0c), 0xfc00003f, MIPSCode )
inspick( TEQ, "teq", s(0x00,0x34), 0xfc00003f, MIPSTrap2 )
inspick( TEQI, "teqi", b(0x01,0x0c), 0xfc1f0000, MIPSTrap1 )
inspick( TGE, "tge", s(0x00,0x30), 0xfc00003f, MIPSTrap2 )
inspick( TGEI, "tgei", b(0x01,0x08), 0xfc1f0000, MIPSTrap1 )
inspick( TGEIU, "tgeiu", b(0x01,0x09), 0xfc1f0000, MIPSTrap1 )
inspick( TGEU, "tgeu", s(0x00,0x31), 0xfc00003f, MIPSTrap2 )
inspick( TLBP, "tlbp", 0x42000008, 0xffffffff, MIPSNull )
inspick( TLBR, "tlbr", 0x42000001, 0xffffffff, MIPSNull )
inspick( TLBWI, "tlbwi", 0x42000002, 0xffffffff, MIPSNull )
inspick( TLBWR, "tlbwr", 0x42000006, 0xffffffff, MIPSNull )
inspick( TLT, "tlt", s(0x00,0x32), 0xfc00003f, MIPSTrap2 )
inspick( TLTI, "tlti", b(0x01,0x0a), 0xfc1f0000, MIPSTrap1 )
inspick( TLTIU, "tltiu", b(0x01,0x0b), 0xfc1f0000, MIPSTrap1 )
inspick( TLTU, "tltu", s(0x00,0x33), 0xfc00003f, MIPSTrap2 )
inspick( TNE, "tne", s(0x00,0x36), 0xfc00003f, MIPSTrap2 )
inspick( TNEI, "tnei", b(0x01,0x0e), 0xfc1f0000, MIPSTrap1 )
inspick( XOR, "xor", s(0x00,0x26), 0xfc0007ff, MIPSReg3 )
inspick( XORI, "xori", s(0x0e,0x00), 0xfc000000, MIPSImmed2U )
// Floating point opcodes (ie. Coprocessor 1)
inspick( ABS_f, "abs", cop(1,0x05), 0xfe00003f, MIPSFPUOp2 )
inspick( ADD_f, "add", cop(1,0x00), 0xfe00003f, MIPSFPUOp3 )
inspick( BC1F, "bc1f", cb(1,0x08,0x00), 0xffff0000, MIPSBranchCop )
inspick( BC1FL, "bc1fl", cb(1,0x08,0x02), 0xffff0000, MIPSBranchCop )
inspick( BC1T, "bc1t", cb(1,0x08,0x01), 0xffff0000, MIPSBranchCop )
inspick( BC1TL, "bc1tl", cb(1,0x08,0x03), 0xffff0000, MIPSBranchCop )
inspick( C_F_f, "c.f", cop(1,0x30), 0xfe00003f, MIPSFPUCmp )
inspick( C_UN_f, "c.un", cop(1,0x31), 0xfe00003f, MIPSFPUCmp )
inspick( C_EQ_f, "c.eq", cop(1,0x32), 0xfe00003f, MIPSFPUCmp )
inspick( C_UEQ_f, "c.ueq", cop(1,0x33), 0xfe00003f, MIPSFPUCmp )
inspick( C_OLT_f, "c.olt", cop(1,0x34), 0xfe00003f, MIPSFPUCmp )
inspick( C_ULT_f, "c.ult", cop(1,0x35), 0xfe00003f, MIPSFPUCmp )
inspick( C_OLE_f, "c.ole", cop(1,0x36), 0xfe00003f, MIPSFPUCmp )
inspick( C_ULE_f, "c.ule", cop(1,0x37), 0xfe00003f, MIPSFPUCmp )
inspick( C_SF_f, "c.sf", cop(1,0x38), 0xfe00003f, MIPSFPUCmp )
inspick( C_NGLE_f, "c.ngle", cop(1,0x39), 0xfe00003f, MIPSFPUCmp )
inspick( C_SEQ_f, "c.seq", cop(1,0x3a), 0xfe00003f, MIPSFPUCmp )
inspick( C_NGL_f, "c.ngl", cop(1,0x3b), 0xfe00003f, MIPSFPUCmp )
inspick( C_LE_f, "c.le", cop(1,0x3c), 0xfe00003f, MIPSFPUCmp )
inspick( C_LT_f, "c.lt", cop(1,0x3d), 0xfe00003f, MIPSFPUCmp )
inspick( C_NGE_f, "c.nge", cop(1,0x3e), 0xfe00003f, MIPSFPUCmp )
inspick( C_NGT_f, "c.ngt", cop(1,0x3f), 0xfe00003f, MIPSFPUCmp )
inspick( CEIL_L_f, "ceil.l", cop(1,0x0a), 0xfe00003f, MIPSFPUOp3 )
inspick( CEIL_W_f, "ceil.w", cop(1,0x0e), 0xfe00003f, MIPSFPUOp3 )
inspick( CFC1, "cfc1", cb(1,0x02,0x00), 0xffe007ff, MIPSFGMove )
inspick( CTC1, "ctc1", cb(1,0x06,0x00), 0xffe007ff, MIPSFGMove )
inspick( CVT_D_f, "cvt.d", cop(1,0x21), 0xfe00003f, MIPSFPUOp2 )
inspick( CVT_L_f, "cvt.l", cop(1,0x25), 0xfe00003f, MIPSFPUOp2 )
inspick( CVT_S_f, "cvt.s", cop(1,0x20), 0xfe00003f, MIPSFPUOp2 )
inspick( CVT_W_f, "cvt.w", cop(1,0x24), 0xfe00003f, MIPSFPUOp2 )
inspick( DIV_f, "div", cop(1,0x03), 0xfe00003f, MIPSFPUOp3 )
inspick( DMFC1, "dmfc1", d(0x11,0x01), 0xffe007ff, MIPSReg2 )
inspick( DMTC1, "dmtc1", d(0x11,0x05), 0xffe007ff, MIPSReg2 )
inspick( FLOOR_L_f, "floor.l", cop(1,0x0b), 0xfe00003f, MIPSFPUOp2 )
inspick( FLOOR_W_f, "floor.w", cop(1,0x0f), 0xfe00003f, MIPSFPUOp2 )
inspick( MFC1, "mfc1", cb(1,0x00,0x00), 0xffe007ff, MIPSFGMove )
inspick( MOV_f, "mov", cop(1,0x06), 0xfe00003f, MIPSFPUOp2 )
inspick( MTC1, "mtc1", cb(1,0x04,0x00), 0xffe007ff, MIPSFGMove )
inspick( MUL_f, "mul", cop(1,0x02), 0xfe00003f, MIPSFPUOp3 )
inspick( NEG_f, "neg", cop(1,0x07), 0xfe00003f, MIPSFPUOp2 )
inspick( ROUND_L_f, "round.l", cop(1,0x08), 0xfe00003f, MIPSFPUOp2 )
inspick( ROUND_W_f, "round.w", cop(1,0x0c), 0xfe00003f, MIPSFPUOp2 )
inspick( SQRT_f, "sqrt", cop(1,0x04), 0xfe00003f, MIPSFPUOp2 )
inspick( SUB_f, "sub", cop(1,0x01), 0xfe00003f, MIPSFPUOp3 )
inspick( TRUNC_L_f, "trunc.l", cop(1,0x09), 0xfe00003f, MIPSFPUOp2 )
inspick( TRUNC_W_f, "trunc.w", cop(1,0x0d), 0xfe00003f, MIPSFPUOp2 )
#undef o
#undef b
#undef s
#undef d
#undef cb
#undef cop
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?