Open sporniket opened 1 week ago
class SpecsOfAuthorizedStorageWidthForIntegerOperands:
enableBytes = True
enableWords = True
enableLongs = True
enum AddressingModeAuthorization:
NO = 0
YES = 1
YES_WITH_RULES = 2
class SpecsOfAddressingMode:
authorized = AddressingModeAuthorization::NO
rules = []
class SpecsOfIntegerOperand:
isEffectiveAddress = True
Data Register Direct Mode = SpecsOfAddressingMode(...)
Address Register Direct Mode = SpecsOfAddressingMode(...)
Address Register Indirect Mode = SpecsOfAddressingMode(...)
Address Register Indirect with Postincrement Mode = SpecsOfAddressingMode(...)
Address Register Indirect with Predecrement Mode = SpecsOfAddressingMode(...)
Address Register Indirect with Displacement Mode = SpecsOfAddressingMode(...)
Address Register Indirect with Index (8-Bit Displacement) Mode = SpecsOfAddressingMode(...)
Address Register Indirect with Index (Base Displacement) Mode = SpecsOfAddressingMode(...)
Memory Indirect Postindexed Mode = SpecsOfAddressingMode(...)
Memory Indirect Preindexed Mode = SpecsOfAddressingMode(...)
Program Counter Indirect with Displacement Mode = SpecsOfAddressingMode(...)
Program Counter Indirect with Index (8-Bit Displacement) Mode = SpecsOfAddressingMode(...)
Program Counter Indirect with Index (Base Displacement) Mode = SpecsOfAddressingMode(...)
Program Counter Memory Indirect Postindexed Mode = SpecsOfAddressingMode(...)
Program Counter Memory Indirect Preindexed Mode = SpecsOfAddressingMode(...)
Absolute Short Addressing Mode = SpecsOfAddressingMode(...)
Absolute Long Addressing Mode = SpecsOfAddressingMode(...)
Immediate Data = SpecsOfAddressingMode(...)
Signed value = SpecsOfAddressingMode(...)
class SpecsOfIntegerInstruction:
# simple properties
RowId = 0
Mnemonics = ""
Synopsys = ""
Opcode = ""
Domain = ""
numberOfOperands = 0
BriefDescription = ""
# simple groupes
operandSizes = SpecsOfAuthorizedStorageWidthForIntegerOperands(...)
supplementalWords = []
# operands
operands = [
# as required by numberOfOperands
SpecsOfIntegerOperand(...),
SpecsOfIntegerOperand(...),
SpecsOfIntegerOperand(...)
]
There are columns that are standalones :
There are columns that are to be simply grouped :
And there are operand specifications