Add InstrMap.cpp generation to pygen
This commit is contained in:
@@ -16,107 +16,107 @@ constexpr u8 ADDR_MODE_MASKS[][2] = {
|
||||
{ 0x1E, 0x00 }, // FIR
|
||||
{ 0x1E, 0x00 }, // FZR
|
||||
{ 0x1E, 0x1F }, // LSR
|
||||
{ 0x00, 0x00 }, // FVR
|
||||
{ 0x00, 0x00 }, // MOV
|
||||
{ 0x00, 0x00 }, // MOR
|
||||
{ 0x04, 0x00 }, // FVR
|
||||
{ 0x1E, 0xFF }, // MOV
|
||||
{ 0x04, 0x04 }, // MOR
|
||||
{ 0x00, 0x00 }, // AMOV
|
||||
{ 0x04, 0x04 }, // SWP
|
||||
{ 0x04, 0x00 }, // AHM
|
||||
{ 0x00, 0x00 }, // COM
|
||||
{ 0x00, 0x00 }, // NEG
|
||||
{ 0x00, 0x00 }, // EXS
|
||||
{ 0x00, 0x00 }, // INC
|
||||
{ 0x00, 0x00 }, // DEC
|
||||
{ 0x00, 0x00 }, // ADD
|
||||
{ 0x00, 0x00 }, // SUB
|
||||
{ 0x00, 0x00 }, // MUL
|
||||
{ 0x00, 0x00 }, // UMUL
|
||||
{ 0x00, 0x00 }, // DIV
|
||||
{ 0x00, 0x00 }, // UDIV
|
||||
{ 0x00, 0x00 }, // MOD
|
||||
{ 0x00, 0x00 }, // UMOD
|
||||
{ 0x00, 0x00 }, // DMOD
|
||||
{ 0x00, 0x00 }, // UDMD
|
||||
{ 0x00, 0x00 }, // FBT
|
||||
{ 0x00, 0x00 }, // STB
|
||||
{ 0x00, 0x00 }, // CRB
|
||||
{ 0x00, 0x00 }, // TSB
|
||||
{ 0x00, 0x00 }, // BOOL
|
||||
{ 0x00, 0x00 }, // NOT
|
||||
{ 0x00, 0x00 }, // AND
|
||||
{ 0x00, 0x00 }, // OR
|
||||
{ 0x00, 0x00 }, // XOR
|
||||
{ 0x00, 0x00 }, // SHL
|
||||
{ 0x00, 0x00 }, // SHR
|
||||
{ 0x00, 0x00 }, // SSR
|
||||
{ 0x00, 0x00 }, // ROL
|
||||
{ 0x00, 0x00 }, // ROR
|
||||
{ 0x00, 0x00 }, // CNT
|
||||
{ 0x00, 0x00 }, // EQ
|
||||
{ 0x00, 0x00 }, // NE
|
||||
{ 0x00, 0x00 }, // GT
|
||||
{ 0x00, 0x00 }, // GE
|
||||
{ 0x00, 0x00 }, // LT
|
||||
{ 0x00, 0x00 }, // LE
|
||||
{ 0x00, 0x00 }, // JMP
|
||||
{ 0x00, 0x00 }, // JEQ
|
||||
{ 0x00, 0x00 }, // JNE
|
||||
{ 0x00, 0x00 }, // JIF
|
||||
{ 0x00, 0x00 }, // JMR
|
||||
{ 0x00, 0x00 }, // JER
|
||||
{ 0x00, 0x00 }, // JNR
|
||||
{ 0x00, 0x00 }, // JIR
|
||||
{ 0x00, 0x00 }, // SFB
|
||||
{ 0x00, 0x00 }, // LFB
|
||||
{ 0x00, 0x00 }, // JUF
|
||||
{ 0x00, 0x00 }, // JUR
|
||||
{ 0x00, 0x00 }, // PUSH
|
||||
{ 0x00, 0x00 }, // POP
|
||||
{ 0x00, 0x00 }, // ALLOC
|
||||
{ 0x00, 0x00 }, // HFREE
|
||||
{ 0x00, 0x00 }, // CALL
|
||||
{ 0xFF, 0x00 }, // COM
|
||||
{ 0xFF, 0x00 }, // NEG
|
||||
{ 0xFF, 0x00 }, // EXS
|
||||
{ 0xFF, 0x00 }, // INC
|
||||
{ 0xFF, 0x00 }, // DEC
|
||||
{ 0x1E, 0xFF }, // ADD
|
||||
{ 0x1E, 0xFF }, // SUB
|
||||
{ 0x1E, 0xFF }, // MUL
|
||||
{ 0x1E, 0xFF }, // UMUL
|
||||
{ 0x1E, 0xFF }, // DIV
|
||||
{ 0x1E, 0xFF }, // UDIV
|
||||
{ 0x1E, 0xFF }, // MOD
|
||||
{ 0x1E, 0xFF }, // UMOD
|
||||
{ 0x1E, 0xFF }, // DMOD
|
||||
{ 0x1E, 0xFF }, // UDMD
|
||||
{ 0xFF, 0x00 }, // FBT
|
||||
{ 0x1E, 0xFF }, // STB
|
||||
{ 0x1E, 0xFF }, // CRB
|
||||
{ 0x1E, 0xFF }, // TSB
|
||||
{ 0xFF, 0x00 }, // BOOL
|
||||
{ 0xFF, 0x00 }, // NOT
|
||||
{ 0x1E, 0xFF }, // AND
|
||||
{ 0x1E, 0xFF }, // OR
|
||||
{ 0x1E, 0xFF }, // XOR
|
||||
{ 0x1E, 0xFF }, // SHL
|
||||
{ 0x1E, 0xFF }, // SHR
|
||||
{ 0x1E, 0xFF }, // SSR
|
||||
{ 0x1E, 0xFF }, // ROL
|
||||
{ 0x1E, 0xFF }, // ROR
|
||||
{ 0xFF, 0x00 }, // CNT
|
||||
{ 0x1E, 0xFF }, // EQ
|
||||
{ 0x1E, 0xFF }, // NE
|
||||
{ 0x1E, 0xFF }, // GT
|
||||
{ 0x1E, 0xFF }, // GE
|
||||
{ 0x1E, 0xFF }, // LT
|
||||
{ 0x1E, 0xFF }, // LE
|
||||
{ 0xFF, 0x00 }, // JMP
|
||||
{ 0xFF, 0x00 }, // JEQ
|
||||
{ 0xFF, 0x00 }, // JNE
|
||||
{ 0x1E, 0xFF }, // JIF
|
||||
{ 0xFF, 0x00 }, // JMR
|
||||
{ 0xFF, 0x00 }, // JER
|
||||
{ 0xFF, 0x00 }, // JNR
|
||||
{ 0x1E, 0xFF }, // JIR
|
||||
{ 0x1E, 0xFF }, // SFB
|
||||
{ 0x1E, 0xFF }, // LFB
|
||||
{ 0x1E, 0xFF }, // JUF
|
||||
{ 0x1E, 0xFF }, // JUR
|
||||
{ 0xFF, 0x00 }, // PUSH
|
||||
{ 0xFF, 0x00 }, // POP
|
||||
{ 0xFF, 0x00 }, // ALLOC
|
||||
{ 0xFF, 0x00 }, // HFREE
|
||||
{ 0xFF, 0x00 }, // CALL
|
||||
{ 0x00, 0x00 }, // RET
|
||||
{ 0x00, 0x00 }, // EDI
|
||||
{ 0x00, 0x00 }, // SHSS
|
||||
{ 0x00, 0x00 }, // FLI
|
||||
{ 0x00, 0x00 }, // FNEG
|
||||
{ 0x00, 0x00 }, // FADD
|
||||
{ 0x00, 0x00 }, // FSUB
|
||||
{ 0x00, 0x00 }, // FMUL
|
||||
{ 0x00, 0x00 }, // FDIV
|
||||
{ 0x00, 0x00 }, // FMOD
|
||||
{ 0x00, 0x00 }, // FDMOD
|
||||
{ 0x00, 0x00 }, // FEPS
|
||||
{ 0x00, 0x00 }, // FEEP
|
||||
{ 0x00, 0x00 }, // FEQ
|
||||
{ 0x00, 0x00 }, // FNE
|
||||
{ 0x00, 0x00 }, // FGT
|
||||
{ 0x00, 0x00 }, // FGE
|
||||
{ 0x00, 0x00 }, // FLT
|
||||
{ 0x00, 0x00 }, // FLE
|
||||
{ 0x00, 0x00 }, // F2D
|
||||
{ 0x00, 0x00 }, // D2F
|
||||
{ 0x00, 0x00 }, // I2F
|
||||
{ 0x00, 0x00 }, // I2D
|
||||
{ 0x00, 0x00 }, // L2F
|
||||
{ 0x00, 0x00 }, // L2D
|
||||
{ 0x00, 0x00 }, // F2I
|
||||
{ 0x00, 0x00 }, // F2L
|
||||
{ 0x00, 0x00 }, // D2I
|
||||
{ 0x00, 0x00 }, // D2L
|
||||
{ 0x00, 0x00 }, // SIN
|
||||
{ 0x00, 0x00 }, // COS
|
||||
{ 0x00, 0x00 }, // TAN
|
||||
{ 0x00, 0x00 }, // ASIN
|
||||
{ 0x00, 0x00 }, // ACOS
|
||||
{ 0x00, 0x00 }, // ATAN
|
||||
{ 0x00, 0x00 }, // ATAN2
|
||||
{ 0x00, 0x00 }, // EXP
|
||||
{ 0x00, 0x00 }, // LOG
|
||||
{ 0x00, 0x00 }, // LOGAB
|
||||
{ 0x00, 0x00 }, // POW
|
||||
{ 0x00, 0x00 }, // SQRT
|
||||
{ 0x00, 0x00 }, // ROOT
|
||||
{ 0xFF, 0x00 }, // EDI
|
||||
{ 0xFF, 0x00 }, // SHSS
|
||||
{ 0xFF, 0x00 }, // FLI
|
||||
{ 0xFF, 0x00 }, // FNEG
|
||||
{ 0x1E, 0xFF }, // FADD
|
||||
{ 0x1E, 0xFF }, // FSUB
|
||||
{ 0x1E, 0xFF }, // FMUL
|
||||
{ 0x1E, 0xFF }, // FDIV
|
||||
{ 0x1E, 0xFF }, // FMOD
|
||||
{ 0x1E, 0xFF }, // FDMOD
|
||||
{ 0xFF, 0x00 }, // FEPS
|
||||
{ 0xFF, 0x00 }, // FEEP
|
||||
{ 0x1E, 0xFF }, // FEQ
|
||||
{ 0x1E, 0xFF }, // FNE
|
||||
{ 0x1E, 0xFF }, // FGT
|
||||
{ 0x1E, 0xFF }, // FGE
|
||||
{ 0x1E, 0xFF }, // FLT
|
||||
{ 0x1E, 0xFF }, // FLE
|
||||
{ 0xFF, 0x00 }, // F2D
|
||||
{ 0xFF, 0x00 }, // D2F
|
||||
{ 0xFF, 0x00 }, // I2F
|
||||
{ 0xFF, 0x00 }, // I2D
|
||||
{ 0xFF, 0x00 }, // L2F
|
||||
{ 0xFF, 0x00 }, // L2D
|
||||
{ 0xFF, 0x00 }, // F2I
|
||||
{ 0xFF, 0x00 }, // F2L
|
||||
{ 0xFF, 0x00 }, // D2I
|
||||
{ 0xFF, 0x00 }, // D2L
|
||||
{ 0xFF, 0x00 }, // SIN
|
||||
{ 0xFF, 0x00 }, // COS
|
||||
{ 0xFF, 0x00 }, // TAN
|
||||
{ 0xFF, 0x00 }, // ASIN
|
||||
{ 0xFF, 0x00 }, // ACOS
|
||||
{ 0xFF, 0x00 }, // ATAN
|
||||
{ 0x1E, 0xFF }, // ATAN2
|
||||
{ 0xFF, 0x00 }, // EXP
|
||||
{ 0xFF, 0x00 }, // LOG
|
||||
{ 0x1E, 0xFF }, // LOGAB
|
||||
{ 0x1E, 0xFF }, // POW
|
||||
{ 0xFF, 0x00 }, // SQRT
|
||||
{ 0x1E, 0xFF }, // ROOT
|
||||
{ 0x00, 0x00 }, // ADC
|
||||
{ 0x00, 0x00 }, // SWC
|
||||
{ 0x00, 0x00 }, // MWO
|
||||
@@ -127,6 +127,8 @@ constexpr u8 ADDR_MODE_MASKS[][2] = {
|
||||
{ 0x00, 0x00 }, // MINV
|
||||
{ 0x00, 0x00 }, // MTRA
|
||||
{ 0x00, 0x00 }, // MDET
|
||||
{ 0x00, 0x00 }, // QMKA
|
||||
{ 0x00, 0x00 }, // QMUL
|
||||
{ 0x00, 0x00 }, // XADD
|
||||
{ 0x00, 0x00 }, // XSUB
|
||||
{ 0x00, 0x00 }, // XAMA
|
||||
@@ -140,18 +142,18 @@ constexpr u8 TYPE_SIZE_MASKS[] = {
|
||||
0x00, // NOP
|
||||
0x00, // SPDR
|
||||
0x01, // MMODE
|
||||
0x0F, // INT
|
||||
0x0C, // LRV
|
||||
0x0F, // FSR
|
||||
0x0F, // FIR
|
||||
0x0F, // FZR
|
||||
0x0F, // LSR
|
||||
0x0F, // FVR
|
||||
0x00, // MOV
|
||||
0x00, // MOR
|
||||
0x00, // AMOV
|
||||
0x00, // SWP
|
||||
0x0F, // AHM
|
||||
0x08, // INT
|
||||
0x08, // LRV
|
||||
0x08, // FSR
|
||||
0x08, // FIR
|
||||
0x08, // FZR
|
||||
0x08, // LSR
|
||||
0x08, // FVR
|
||||
0x0F, // MOV
|
||||
0x08, // MOR
|
||||
0x08, // AMOV
|
||||
0x08, // SWP
|
||||
0x08, // AHM
|
||||
0x0F, // COM
|
||||
0x0F, // NEG
|
||||
0x0F, // EXS
|
||||
@@ -208,22 +210,22 @@ constexpr u8 TYPE_SIZE_MASKS[] = {
|
||||
0x0F, // RET
|
||||
0x0F, // EDI
|
||||
0x0F, // SHSS
|
||||
0x00, // FLI
|
||||
0x00, // FNEG
|
||||
0x00, // FADD
|
||||
0x00, // FSUB
|
||||
0x00, // FMUL
|
||||
0x00, // FDIV
|
||||
0x00, // FMOD
|
||||
0x00, // FDMOD
|
||||
0x00, // FEPS
|
||||
0x00, // FEEP
|
||||
0x00, // FEQ
|
||||
0x00, // FNE
|
||||
0x00, // FGT
|
||||
0x00, // FGE
|
||||
0x00, // FLT
|
||||
0x00, // FLE
|
||||
0x0C, // FLI
|
||||
0x0C, // FNEG
|
||||
0x0C, // FADD
|
||||
0x0C, // FSUB
|
||||
0x0C, // FMUL
|
||||
0x0C, // FDIV
|
||||
0x0C, // FMOD
|
||||
0x0C, // FDMOD
|
||||
0x0C, // FEPS
|
||||
0x0C, // FEEP
|
||||
0x0C, // FEQ
|
||||
0x0C, // FNE
|
||||
0x0C, // FGT
|
||||
0x0C, // FGE
|
||||
0x0C, // FLT
|
||||
0x0C, // FLE
|
||||
0x00, // F2D
|
||||
0x00, // D2F
|
||||
0x00, // I2F
|
||||
@@ -234,19 +236,19 @@ constexpr u8 TYPE_SIZE_MASKS[] = {
|
||||
0x00, // F2L
|
||||
0x00, // D2I
|
||||
0x00, // D2L
|
||||
0x00, // SIN
|
||||
0x00, // COS
|
||||
0x00, // TAN
|
||||
0x00, // ASIN
|
||||
0x00, // ACOS
|
||||
0x00, // ATAN
|
||||
0x00, // ATAN2
|
||||
0x00, // EXP
|
||||
0x00, // LOG
|
||||
0x00, // LOGAB
|
||||
0x00, // POW
|
||||
0x00, // SQRT
|
||||
0x00, // ROOT
|
||||
0x0C, // SIN
|
||||
0x0C, // COS
|
||||
0x0C, // TAN
|
||||
0x0C, // ASIN
|
||||
0x0C, // ACOS
|
||||
0x0C, // ATAN
|
||||
0x0C, // ATAN2
|
||||
0x0C, // EXP
|
||||
0x0C, // LOG
|
||||
0x0C, // LOGAB
|
||||
0x0C, // POW
|
||||
0x0C, // SQRT
|
||||
0x0C, // ROOT
|
||||
0x00, // ADC
|
||||
0x00, // SWC
|
||||
0x00, // MWO
|
||||
@@ -257,6 +259,8 @@ constexpr u8 TYPE_SIZE_MASKS[] = {
|
||||
0x00, // MINV
|
||||
0x00, // MTRA
|
||||
0x00, // MDET
|
||||
0x00, // QMKA
|
||||
0x00, // QMUL
|
||||
0x00, // XADD
|
||||
0x00, // XSUB
|
||||
0x00, // XAMA
|
||||
|
||||
Reference in New Issue
Block a user