From d78899bc26c35f1541174cb8204c170c76fd2d5f Mon Sep 17 00:00:00 2001 From: Jeff Epler Date: Thu, 7 Aug 2014 21:05:28 -0500 Subject: [PATCH] d8: more than 8 MSBs are determined by the opcode --- d8_tab.py | 396 ++++++++++++++++++------------------ pta/BasicWordInstruction.py | 6 +- tab2py.awk.sh | 2 +- 3 files changed, 202 insertions(+), 202 deletions(-) diff --git a/d8_tab.py b/d8_tab.py index 74cce1b..2827252 100644 --- a/d8_tab.py +++ b/d8_tab.py @@ -36,234 +36,234 @@ from pta.BasicWordInstruction import * # o : offset # 0000 0000 xxxx xxxx # OPERAND -Insn("NOP", I0, 0x00) -Insn("DATAPIPE", I0, 0x00) -Insn("INDEXPIPE", I0, 0x00) -Insn("JUMPSHADOWPIPE", I0, 0x00) +Insn("NOP", I0, 0x0000) +Insn("DATAPIPE", I0, 0x0001) +Insn("INDEXPIPE", I0, 0x0002) +Insn("JUMPSHADOWPIPE", I0, 0x0003) # 0000 0001 kkkk kkkk # BYTE OPERAND -Insn("LDIB *", I8, 0x01) +Insn("LDIB *", I8, 0x0100) # 0000 00rr xxxx xxxx # OPERAND -Insn("RCLB", I0, 0x02) -Insn("RCRB", I0, 0x03) -Insn("SHLN", I0, 0x02) -Insn("SHRN", I0, 0x03) +Insn("RCLB", I0, 0x0200) +Insn("RCRB", I0, 0x0300) +Insn("SHLN", I0, 0x0280) +Insn("SHRN", I0, 0x0380) # 0000 rrii ixxx xxxx -Insn("LDAB XL", I0, 0x04) -Insn("LDAB YL", I0, 0x05) -Insn("LDAB ZL", I0, 0x06) -Insn("LDAB TL", I0, 0x07) -Insn("LDAB XH", I0, 0x04) -Insn("LDAB YH", I0, 0x05) -Insn("LDAB ZH", I0, 0x06) -Insn("LDAB TH", I0, 0x07) -Insn("STAB XL", I0, 0x08) -Insn("STAB YL", I0, 0x09) -Insn("STAB ZL", I0, 0x0a) -Insn("STAB TL", I0, 0x0b) -Insn("STAB XH", I0, 0x08) -Insn("STAB YH", I0, 0x09) -Insn("STAB ZH", I0, 0x0a) -Insn("STAB TH", I0, 0x0b) -Insn("ADDIX *", I7, 0x0c) -Insn("ADDIY *", I7, 0x0d) -Insn("ADDIZ *", I7, 0x0e) -Insn("ADDIT *", I7, 0x0f) -Insn("POP", I0, 0x0c) -Insn("PUSH", I0, 0x0d) -Insn("LDAB SP", I0, 0x0e) -Insn("STAB SP", I0, 0x0f) +Insn("LDAB XL", I0, 0x0400) +Insn("LDAB YL", I0, 0x0500) +Insn("LDAB ZL", I0, 0x0600) +Insn("LDAB TL", I0, 0x0700) +Insn("LDAB XH", I0, 0x0480) +Insn("LDAB YH", I0, 0x0580) +Insn("LDAB ZH", I0, 0x0680) +Insn("LDAB TH", I0, 0x0780) +Insn("STAB XL", I0, 0x0800) +Insn("STAB YL", I0, 0x0900) +Insn("STAB ZL", I0, 0x0a00) +Insn("STAB TL", I0, 0x0b00) +Insn("STAB XH", I0, 0x0880) +Insn("STAB YH", I0, 0x0980) +Insn("STAB ZH", I0, 0x0a80) +Insn("STAB TH", I0, 0x0b80) +Insn("ADDIX *", I7, 0x0c00) +Insn("ADDIY *", I7, 0x0d00) +Insn("ADDIZ *", I7, 0x0e00) +Insn("ADDIT *", I7, 0x0f00) +Insn("POP", I0, 0x0c80) +Insn("PUSH", I0, 0x0d80) +Insn("LDAB SP", I0, 0x0e80) +Insn("STAB SP", I0, 0x0f80) # BIT OPERAND, PROGRAM ADDRESS FOR JUMPS # iiii 0aaa aaaa aaaa DIRECT INSTRUCTIONS -Insn("JMP *", I11, 0x10) -Insn("JMPNZ *", I11, 0x20) -Insn("JMPZ *", I11, 0x30) -Insn("JMPNC *", I11, 0x40) -Insn("JMPC *", I11, 0x50) -Insn("JSR *", I11, 0x60) +Insn("JMP *", I11, 0x1000) +Insn("JMPNZ *", I11, 0x2000) +Insn("JMPZ *", I11, 0x3000) +Insn("JMPNC *", I11, 0x4000) +Insn("JMPC *", I11, 0x5000) +Insn("JSR *", I11, 0x6000) # 8 BIT OFFSET, # iiii 0100 0000 0000 INDIRECT INSTRUCTIONS -Insn("LDAB @X", I0, 0x74) -Insn("ORB @X", I0, 0x84) -Insn("XORB @X", I0, 0x94) -Insn("ANDB @X", I0, 0xa4) -Insn("STAB @X", I0, 0xb4) -Insn("ADDB @X", I0, 0xc4) -Insn("ADDCB @X", I0, 0xd4) -Insn("SUBB @X", I0, 0xe4) -Insn("SUBCB @X", I0, 0xf4) +Insn("LDAB @X", I0, 0x7400) +Insn("ORB @X", I0, 0x8400) +Insn("XORB @X", I0, 0x9400) +Insn("ANDB @X", I0, 0xa400) +Insn("STAB @X", I0, 0xb400) +Insn("ADDB @X", I0, 0xc400) +Insn("ADDCB @X", I0, 0xd400) +Insn("SUBB @X", I0, 0xe400) +Insn("SUBCB @X", I0, 0xf400) # 8 BIT OPERAND, # iiii 0100 oooo oooo INDIRECT INSTRUCTIONS -Insn("LDAB @X,*", I7, 0x74) -Insn("ORB @X,*", I7, 0x84) -Insn("XORB @X,*", I7, 0x94) -Insn("ANDB @X,*", I7, 0xa4) -Insn("STAB @X,*", I7, 0xb4) -Insn("ADDB @X,*", I7, 0xc4) -Insn("ADDCB @X,*", I7, 0xd4) -Insn("SUBB @X,*", I7, 0xe4) -Insn("SUBCB @X,*", I7, 0xf4) +Insn("LDAB @X,*", I7, 0x7400) +Insn("ORB @X,*", I7, 0x8400) +Insn("XORB @X,*", I7, 0x9400) +Insn("ANDB @X,*", I7, 0xa400) +Insn("STAB @X,*", I7, 0xb400) +Insn("ADDB @X,*", I7, 0xc400) +Insn("ADDCB @X,*", I7, 0xd400) +Insn("SUBB @X,*", I7, 0xe400) +Insn("SUBCB @X,*", I7, 0xf400) # 8 BIT OFFSET, # iiii 1100 0000 0000 INDIRECT INSTRUCTIONS -Insn("ORTOB @X", I0, 0x8c) -Insn("XORTOB @X", I0, 0x9c) -Insn("ANDTOB @X", I0, 0xac) -Insn("STATOB @X", I0, 0xbc) -Insn("ADDTOB @X", I0, 0xcc) -Insn("ADDCTOB @X", I0, 0xdc) -Insn("SUBTOB @X", I0, 0xec) -Insn("SUBCTOB @X", I0, 0xfc) +Insn("ORTOB @X", I0, 0x8c00) +Insn("XORTOB @X", I0, 0x9c00) +Insn("ANDTOB @X", I0, 0xac00) +Insn("STATOB @X", I0, 0xbc00) +Insn("ADDTOB @X", I0, 0xcc00) +Insn("ADDCTOB @X", I0, 0xdc00) +Insn("SUBTOB @X", I0, 0xec00) +Insn("SUBCTOB @X", I0, 0xfc00) # 8 BIT OPERAND, # iiii 1100 oooo oooo INDIRECT INSTRUCTIONS -Insn("ORTOB @X,*", I7, 0x8c) -Insn("XORTOB @X,*", I7, 0x9c) -Insn("ANDTOB @X,*", I7, 0xac) -Insn("STATOB @X,*", I7, 0xbc) -Insn("ADDTOB @X,*", I7, 0xcc) -Insn("ADDCTOB @X,*", I7, 0xdc) -Insn("SUBTOB @X,*", I7, 0xec) -Insn("SUBCTOB @X,*", I7, 0xfc) +Insn("ORTOB @X,*", I7, 0x8c00) +Insn("XORTOB @X,*", I7, 0x9c00) +Insn("ANDTOB @X,*", I7, 0xac00) +Insn("STATOB @X,*", I7, 0xbc00) +Insn("ADDTOB @X,*", I7, 0xcc00) +Insn("ADDCTOB @X,*", I7, 0xdc00) +Insn("SUBTOB @X,*", I7, 0xec00) +Insn("SUBCTOB @X,*", I7, 0xfc00) # iiii 0101 0000 0000 INDIRECT INSTRUCTIONS -Insn("LDAB @Y", I0, 0x75) -Insn("ORB @Y", I0, 0x85) -Insn("XORB @Y", I0, 0x95) -Insn("ANDB @Y", I0, 0xa5) -Insn("STAB @Y", I0, 0xb5) -Insn("ADDB @Y", I0, 0xc5) -Insn("ADDCB @Y", I0, 0xd5) -Insn("SUBB @Y", I0, 0xe5) -Insn("SUBCB @Y", I0, 0xf5) +Insn("LDAB @Y", I0, 0x7580) +Insn("ORB @Y", I0, 0x8580) +Insn("XORB @Y", I0, 0x9580) +Insn("ANDB @Y", I0, 0xa580) +Insn("STAB @Y", I0, 0xb580) +Insn("ADDB @Y", I0, 0xc580) +Insn("ADDCB @Y", I0, 0xd580) +Insn("SUBB @Y", I0, 0xe580) +Insn("SUBCB @Y", I0, 0xf580) # iiii 0101 oooo oooo INDIRECT INSTRUCTIONS -Insn("LDAB @Y,*", I7, 0x75) -Insn("ORB @Y,*", I7, 0x85) -Insn("XORB @Y,*", I7, 0x95) -Insn("ANDB @Y,*", I7, 0xa5) -Insn("STAB @Y,*", I7, 0xb5) -Insn("ADDB @Y,*", I7, 0xc5) -Insn("ADDCB @Y,*", I7, 0xd5) -Insn("SUBB @Y,*", I7, 0xe5) -Insn("SUBCB @Y,*", I7, 0xf5) +Insn("LDAB @Y,*", I7, 0x7580) +Insn("ORB @Y,*", I7, 0x8580) +Insn("XORB @Y,*", I7, 0x9580) +Insn("ANDB @Y,*", I7, 0xa580) +Insn("STAB @Y,*", I7, 0xb580) +Insn("ADDB @Y,*", I7, 0xc580) +Insn("ADDCB @Y,*", I7, 0xd580) +Insn("SUBB @Y,*", I7, 0xe580) +Insn("SUBCB @Y,*", I7, 0xf580) # iiii 1101 0000 0000 INDIRECT INSTRUCTIONS -Insn("ORTOB @Y", I0, 0x8d) -Insn("XORTOB @Y", I0, 0x9d) -Insn("ANDTOB @Y", I0, 0xad) -Insn("STATOB @Y", I0, 0xbd) -Insn("ADDTOB @Y", I0, 0xcd) -Insn("ADDCTOB @Y", I0, 0xdd) -Insn("SUBTOB @Y", I0, 0xed) -Insn("SUBCTOB @Y", I0, 0xfd) +Insn("ORTOB @Y", I0, 0x8d80) +Insn("XORTOB @Y", I0, 0x9d80) +Insn("ANDTOB @Y", I0, 0xad80) +Insn("STATOB @Y", I0, 0xbd80) +Insn("ADDTOB @Y", I0, 0xcd80) +Insn("ADDCTOB @Y", I0, 0xdd80) +Insn("SUBTOB @Y", I0, 0xed80) +Insn("SUBCTOB @Y", I0, 0xfd00) # iiii 1101 oooo oooo INDIRECT INSTRUCTIONS -Insn("ORTOB @Y,*", I7, 0x8d) -Insn("XORTOB @Y,*", I7, 0x9d) -Insn("ANDTOB @Y,*", I7, 0xad) -Insn("STATOB @Y,*", I7, 0xbd) -Insn("ADDTOB @Y,*", I7, 0xcd) -Insn("ADDCTOB @Y,*", I7, 0xdd) -Insn("SUBTOB @Y,*", I7, 0xed) -Insn("SUBCTOB @Y,*", I7, 0xfd) +Insn("ORTOB @Y,*", I7, 0x8d80) +Insn("XORTOB @Y,*", I7, 0x9d80) +Insn("ANDTOB @Y,*", I7, 0xad80) +Insn("STATOB @Y,*", I7, 0xbd80) +Insn("ADDTOB @Y,*", I7, 0xcd80) +Insn("ADDCTOB @Y,*", I7, 0xdd80) +Insn("SUBTOB @Y,*", I7, 0xed80) +Insn("SUBCTOB @Y,*", I7, 0xfd80) # iiii 0110 0000 0000 INDIRECT INSTRUCTIONS -Insn("LDAB @Z", I0, 0x76) -Insn("ORB @Z", I0, 0x86) -Insn("XORB @Z", I0, 0x96) -Insn("ANDB @Z", I0, 0xa6) -Insn("STAB @Z", I0, 0xb6) -Insn("ADDB @Z", I0, 0xc6) -Insn("ADDCB @Z", I0, 0xd6) -Insn("SUBB @Z", I0, 0xe6) -Insn("SUBCB @Z", I0, 0xf6) +Insn("LDAB @Z", I0, 0x7600) +Insn("ORB @Z", I0, 0x8600) +Insn("XORB @Z", I0, 0x9600) +Insn("ANDB @Z", I0, 0xa600) +Insn("STAB @Z", I0, 0xb600) +Insn("ADDB @Z", I0, 0xc600) +Insn("ADDCB @Z", I0, 0xd600) +Insn("SUBB @Z", I0, 0xe600) +Insn("SUBCB @Z", I0, 0xf600) # iiii 0110 oooo oooo INDIRECT INSTRUCTIONS -Insn("LDAB @Z,*", I7, 0x76) -Insn("ORB @Z,*", I7, 0x86) -Insn("XORB @Z,*", I7, 0x96) -Insn("ANDB @Z,*", I7, 0xa6) -Insn("STAB @Z,*", I7, 0xb6) -Insn("ADDB @Z,*", I7, 0xc6) -Insn("ADDCB @Z,*", I7, 0xd6) -Insn("SUBB @Z,*", I7, 0xe6) -Insn("SUBCB @Z,*", I7, 0xf6) +Insn("LDAB @Z,*", I7, 0x7600) +Insn("ORB @Z,*", I7, 0x8600) +Insn("XORB @Z,*", I7, 0x9600) +Insn("ANDB @Z,*", I7, 0xa600) +Insn("STAB @Z,*", I7, 0xb600) +Insn("ADDB @Z,*", I7, 0xc600) +Insn("ADDCB @Z,*", I7, 0xd600) +Insn("SUBB @Z,*", I7, 0xe600) +Insn("SUBCB @Z,*", I7, 0xf600) # iiii 1110 0000 0000 INDIRECT INSTRUCTIONS -Insn("ORTOB @Z", I0, 0x8e) -Insn("XORTOB @Z", I0, 0x9e) -Insn("ANDTOB @Z", I0, 0xae) -Insn("STATOB @Z", I0, 0xbe) -Insn("ADDTOB @Z", I0, 0xce) -Insn("ADDCTOB @Z", I0, 0xde) -Insn("SUBTOB @Z", I0, 0xee) -Insn("SUBCTOB @Z", I0, 0xfe) +Insn("ORTOB @Z", I0, 0x8e00) +Insn("XORTOB @Z", I0, 0x9e00) +Insn("ANDTOB @Z", I0, 0xae00) +Insn("STATOB @Z", I0, 0xbe00) +Insn("ADDTOB @Z", I0, 0xce00) +Insn("ADDCTOB @Z", I0, 0xde00) +Insn("SUBTOB @Z", I0, 0xee00) +Insn("SUBCTOB @Z", I0, 0xfe00) # iiii 1110 oooo oooo INDIRECT INSTRUCTIONS -Insn("ORTOB @Z,*", I7, 0x8e) -Insn("XORTOB @Z,*", I7, 0x9e) -Insn("ANDTOB @Z,*", I7, 0xae) -Insn("STATOB @Z,*", I7, 0xbe) -Insn("ADDTOB @Z,*", I7, 0xce) -Insn("ADDCTOB @Z,*", I7, 0xde) -Insn("SUBTOB @Z,*", I7, 0xee) -Insn("SUBCTOB @Z,*", I7, 0xfe) +Insn("ORTOB @Z,*", I7, 0x8e00) +Insn("XORTOB @Z,*", I7, 0x9e00) +Insn("ANDTOB @Z,*", I7, 0xae00) +Insn("STATOB @Z,*", I7, 0xbe00) +Insn("ADDTOB @Z,*", I7, 0xce00) +Insn("ADDCTOB @Z,*", I7, 0xde00) +Insn("SUBTOB @Z,*", I7, 0xee00) +Insn("SUBCTOB @Z,*", I7, 0xfe00) # iiii 0111 0000 0000 INDIRECT INSTRUCTIONS -Insn("LDAB @T", I0, 0x77) -Insn("ORB @T", I0, 0x87) -Insn("XORB @T", I0, 0x97) -Insn("ANDB @T", I0, 0xa7) -Insn("STAB @T", I0, 0xb7) -Insn("ADDB @T", I0, 0xc7) -Insn("ADDCB @T", I0, 0xd7) -Insn("SUBB @T", I0, 0xe7) -Insn("SUBCB @T", I0, 0xf7) +Insn("LDAB @T", I0, 0x7700) +Insn("ORB @T", I0, 0x8700) +Insn("XORB @T", I0, 0x9700) +Insn("ANDB @T", I0, 0xa700) +Insn("STAB @T", I0, 0xb700) +Insn("ADDB @T", I0, 0xc700) +Insn("ADDCB @T", I0, 0xd700) +Insn("SUBB @T", I0, 0xe700) +Insn("SUBCB @T", I0, 0xf700) # iiii 0111 oooo oooo INDIRECT INSTRUCTIONS -Insn("LDAB @T,*", I7, 0x77) -Insn("ORB @T,*", I7, 0x87) -Insn("XORB @T,*", I7, 0x97) -Insn("ANDB @T,*", I7, 0xa7) -Insn("STAB @T,*", I7, 0xb7) -Insn("ADDB @T,*", I7, 0xc7) -Insn("ADDCB @T,*", I7, 0xd7) -Insn("SUBB @T,*", I7, 0xe7) -Insn("SUBCB @T,*", I7, 0xf7) +Insn("LDAB @T,*", I7, 0x7700) +Insn("ORB @T,*", I7, 0x8700) +Insn("XORB @T,*", I7, 0x9700) +Insn("ANDB @T,*", I7, 0xa700) +Insn("STAB @T,*", I7, 0xb700) +Insn("ADDB @T,*", I7, 0xc700) +Insn("ADDCB @T,*", I7, 0xd700) +Insn("SUBB @T,*", I7, 0xe700) +Insn("SUBCB @T,*", I7, 0xf700) # iiii 1111 0000 0000 INDIRECT INSTRUCTIONS -Insn("ORTOB @T", I0, 0x8f) -Insn("XORTOB @T", I0, 0x9f) -Insn("ANDTOB @T", I0, 0xaf) -Insn("STATOB @T", I0, 0xbf) -Insn("ADDTOB @T", I0, 0xcf) -Insn("ADDCTOB @T", I0, 0xdf) -Insn("SUBTOB @T", I0, 0xef) -Insn("SUBCTOB @T", I0, 0xff) +Insn("ORTOB @T", I0, 0x8f00) +Insn("XORTOB @T", I0, 0x9f00) +Insn("ANDTOB @T", I0, 0xaf00) +Insn("STATOB @T", I0, 0xbf00) +Insn("ADDTOB @T", I0, 0xcf00) +Insn("ADDCTOB @T", I0, 0xdf00) +Insn("SUBTOB @T", I0, 0xef00) +Insn("SUBCTOB @T", I0, 0xff00) # iiii 1111 oooo oooo INDIRECT INSTRUCTIONS -Insn("ORTOB @T,*", I7, 0x8f) -Insn("XORTOB @T,*", I7, 0x9f) -Insn("ANDTOB @T,*", I7, 0xaf) -Insn("STATOB @T,*", I7, 0xbf) -Insn("ADDTOB @T,*", I7, 0xcf) -Insn("ADDCTOB @T,*", I7, 0xdf) -Insn("SUBTOB @T,*", I7, 0xef) -Insn("SUBCTOB @T,*", I7, 0xff) +Insn("ORTOB @T,*", I7, 0x8f00) +Insn("XORTOB @T,*", I7, 0x9f00) +Insn("ANDTOB @T,*", I7, 0xaf00) +Insn("STATOB @T,*", I7, 0xbf00) +Insn("ADDTOB @T,*", I7, 0xcf00) +Insn("ADDCTOB @T,*", I7, 0xdf00) +Insn("SUBTOB @T,*", I7, 0xef00) +Insn("SUBCTOB @T,*", I7, 0xff00) # BIT return addresses # iiii 1aaa aaaa aaaa DIRECT INSTRUCTIONS -Insn("RET", I0, 0x18) -Insn("RETNZ", I0, 0x28) -Insn("RETZ", I0, 0x38) -Insn("RETNC", I0, 0x48) -Insn("RETC", I0, 0x58) -Insn("RET@", I0, 0x68) +Insn("RET", I0, 0x1800) +Insn("RETNZ", I0, 0x2800) +Insn("RETZ", I0, 0x3800) +Insn("RETNC", I0, 0x4800) +Insn("RETC", I0, 0x5800) +Insn("RET@", I0, 0x6800) # REF INST 10 BIT OPERAND ADDRESS # iiii 00nn nnnn nnnn DIRECT INSTRUCTIONS -Insn("LDAB *", I10, 0x70) -Insn("ORB *", I10, 0x80) -Insn("XORB *", I10, 0x90) -Insn("ANDB *", I10, 0xa0) -Insn("STAB *", I10, 0xb0) -Insn("ADDB *", I10, 0xc0) -Insn("ADDCB *", I10, 0xd0) -Insn("SUBB *", I10, 0xe0) -Insn("SUBCB *", I10, 0xf0) +Insn("LDAB *", I10, 0x7000) +Insn("ORB *", I10, 0x8000) +Insn("XORB *", I10, 0x9000) +Insn("ANDB *", I10, 0xa000) +Insn("STAB *", I10, 0xb000) +Insn("ADDB *", I10, 0xc000) +Insn("ADDCB *", I10, 0xd000) +Insn("SUBB *", I10, 0xe000) +Insn("SUBCB *", I10, 0xf000) # REF TO INST 10 BIT OPERAND ADDRESS # iiii 10nn nnnn nnnn DIRECT INSTRUCTIONS -Insn("ORTOB *", I10, 0x88) -Insn("XORTOB *", I10, 0x98) -Insn("ANDTOB *", I10, 0xa8) -Insn("STATOB *", I10, 0xb8) -Insn("ADDTOB *", I10, 0xc8) -Insn("ADDCTOB *", I10, 0xd8) -Insn("SUBTOB *", I10, 0xe8) -Insn("SUBCTOB *", I10, 0xf8) +Insn("ORTOB *", I10, 0x8800) +Insn("XORTOB *", I10, 0x9800) +Insn("ANDTOB *", I10, 0xa800) +Insn("STATOB *", I10, 0xb800) +Insn("ADDTOB *", I10, 0xc800) +Insn("ADDCTOB *", I10, 0xd800) +Insn("SUBTOB *", I10, 0xe800) +Insn("SUBCTOB *", I10, 0xf800) diff --git a/pta/BasicWordInstruction.py b/pta/BasicWordInstruction.py index 333c112..174a102 100644 --- a/pta/BasicWordInstruction.py +++ b/pta/BasicWordInstruction.py @@ -74,8 +74,8 @@ def unbits(b, v): return v class BasicInstruction: - def __init__(self, hi8, _, arg=0): - self.hi8 = hi8 + def __init__(self, insn, _, arg=0): + self.insn = insn self.arg = arg @property @@ -83,7 +83,7 @@ class BasicInstruction: def assemble(self, assembler): v = assembler.symval(self.arg) - return [(self.hi8 << 8) | nbits(self.argwidth, v)] + return [self.insn | nbits(self.argwidth, v)] class I0(BasicInstruction): argwidth=0 class I7(BasicInstruction): argwidth=7 diff --git a/tab2py.awk.sh b/tab2py.awk.sh index 96b9c39..38f18c1 100644 --- a/tab2py.awk.sh +++ b/tab2py.awk.sh @@ -22,5 +22,5 @@ function mask2count(mask) { arg = sprintf("\"%s\",", insn); else arg = sprintf("\"%s %s\",", insn, pattern); - printf("Insn(%-20s %3s, 0x%02x)\n", arg, check, bits / 256 ); + printf("Insn(%-20s %3s, 0x%04x)\n", arg, check, bits ); }' "$@"