/* LOAD x Instructions OPCODE Range: 0x000:0x0FF Addressing follows the following bit table: 0b000XXXXX Immediate load (8 bit for A-D, 16 bit for paired registers) 0b001XXXXX 16 bit Absolute + 16 bit Immediate Offset (signed) 0b010XXXXX 16 bit Absolute 0b011XXXXX 24 bit Absolute 0b100XXXXX 16 bit Indirect 0b101XXXXX 24 bit Indirect 0b110XXXXX 24 bit Indirect + 16 bit immediate offset (signed) 0b111XXXXX 24 bit Absolute + 16 bit Absolute offset (signed) Register TO follows the following bit table: 0bXXX00000 [0x00] ABCD 0bXXX00001 [0x01] CDAB 0bXXX00010 [0x02] AL 0bXXX00011 [0x03] AH 0bXXX00100 [0x04] BL 0bXXX00101 [0x05] BH 0bXXX00110 [0x06] CL 0bXXX00111 [0x07] CH 0bXXX01000 [0x08] DL 0bXXX01001 [0x09] DH 0bXXX01010 [0x0A] AB 0bXXX01011 [0x0B] AC 0bXXX01100 [0x0C] AD 0bXXX01101 [0x0D] BA 0bXXX01110 [0x0E] BC 0bXXX01111 [0x0F] BD 0bXXX10000 [0x10] CA 0bXXX10001 [0x11] CB 0bXXX10010 [0x12] CD 0bXXX10011 [0x13] DA 0bXXX10100 [0x14] DB 0bXXX10101 [0x15] DC 0bXXX10110 [0x16] ABSP 0bXXX10111 [0x17] CDSP 0bXXX11000 [0x18] ALSP 0bXXX11001 [0x19] AHSP 0bXXX11010 [0x1A] BLSP 0bXXX11011 [0x1B] BHSP 0bXXX11100 [0x1C] 0bXXX11101 [0x1D] 0bXXX11110 [0x1E] SP 0bXXX11111 [0x1F] SPP Examples: 24 bit indirect LDAB [SP] -> 0x0D6 [0b10110110] (Stack is pushed with LSW of address first, followed by MSW of address.) 16 bit absolute LDAL 0x0420 -> 0x042 [0b01000010] */ //--------------------------- General Purpose Registers LDx Immediates --------------------------- // 0x000:0x001 not used in this section // 0x016:0x017 not used in this section // 0x01C:0x01D not used in this section class IS_LDA_imm8 extends Microcode_Instruction { constructor(props) { super(props); this.Bytecode = 0x002; this.Mnemonic = "LDA"; this.LongName = "LOAD Register A"; this.Aliases = new Array(); this.Type = InstructionTypes.Immediate8; this.Operands = new Array({Operand: "$", Bitwidth: 8}); this.Words = 2; this.Cycles = 4; this.Microcode[2] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[3] = CONTROL_OUT_RO | CONTROL_RAIL | CONTROL_PCC; } } is_LDA_i = new IS_LDA_imm8; Instructions.push(is_LDA_i); class IS_LDB_imm8 extends Microcode_Instruction { constructor(props) { super(props); this.Bytecode = 0x004; this.Mnemonic = "LDB"; this.LongName = "LOAD Register B"; this.Aliases = new Array(); this.Type = InstructionTypes.Immediate8; this.Operands = new Array({Operand: "$", Bitwidth: 8}); this.Words = 2; this.Cycles = 4; this.Microcode[2] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[3] = CONTROL_OUT_RO | CONTROL_RBIL | CONTROL_PCC; } } is_LDB_i = new IS_LDB_imm8; Instructions.push(is_LDB_i); class IS_LDC_imm8 extends Microcode_Instruction { constructor(props) { super(props); this.Bytecode = 0x006; this.Mnemonic = "LDC"; this.LongName = "LOAD Register C"; this.Aliases = new Array(); this.Type = InstructionTypes.Immediate8; this.Operands = new Array({Operand: "$", Bitwidth: 8}); this.Words = 2; this.Cycles = 4; this.Microcode[2] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[3] = CONTROL_OUT_RO | CONTROL_RCIL | CONTROL_PCC; } } is_LDC_i = new IS_LDC_imm8; Instructions.push(is_LDC_i); class IS_LDD_imm8 extends Microcode_Instruction { constructor(props) { super(props); this.Bytecode = 0x008; this.Mnemonic = "LDD"; this.LongName = "LOAD Register D"; this.Aliases = new Array(); this.Type = InstructionTypes.Immediate8; this.Operands = new Array({Operand: "$", Bitwidth: 8}); this.Words = 2; this.Cycles = 4; this.Microcode[2] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[3] = CONTROL_OUT_RO | CONTROL_RDIL | CONTROL_PCC; } } is_LDD_i = new IS_LDD_imm8; Instructions.push(is_LDD_i); class IS_LDAB_imm16 extends Microcode_Instruction { constructor(props) { super(props); this.Bytecode = 0x00A; this.Mnemonic = "LDAB"; this.LongName = "LOAD Register A and B"; this.Aliases = new Array(); this.Type = InstructionTypes.Immediate16; this.Operands = new Array({Operand: "$", Bitwidth: 16}); this.Words = 2; this.Cycles = 4; this.Microcode[2] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[3] = CONTROL_OUT_RO | CONTROL_RAIL | CONTROL_RBIH | CONTROL_PCC; } } is_LDAB_i = new IS_LDAB_imm16; Instructions.push(is_LDAB_i); class IS_LDAC_imm16 extends Microcode_Instruction { constructor(props) { super(props); this.Bytecode = 0x00B; this.Mnemonic = "LDAC"; this.LongName = "LOAD Register A and C"; this.Aliases = new Array(); this.Type = InstructionTypes.Immediate16; this.Operands = new Array({Operand: "$", Bitwidth: 16}); this.Words = 2; this.Cycles = 4; this.Microcode[2] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[3] = CONTROL_OUT_RO | CONTROL_RAIL | CONTROL_RCIH | CONTROL_PCC; } } is_LDAC_i = new IS_LDAC_imm16; Instructions.push(is_LDAC_i); class IS_LDAD_imm16 extends Microcode_Instruction { constructor(props) { super(props); this.Bytecode = 0x00C; this.Mnemonic = "LDAD"; this.LongName = "LOAD Register A and D"; this.Aliases = new Array(); this.Type = InstructionTypes.Immediate16; this.Operands = new Array({Operand: "$", Bitwidth: 16}); this.Words = 2; this.Cycles = 4; this.Microcode[2] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[3] = CONTROL_OUT_RO | CONTROL_RAIL | CONTROL_RDIH | CONTROL_PCC; } } is_LDAD_i = new IS_LDAD_imm16; Instructions.push(is_LDAD_i); class IS_LDBA_imm16 extends Microcode_Instruction { constructor(props) { super(props); this.Bytecode = 0x00D; this.Mnemonic = "LDBA"; this.LongName = "LOAD Register B and A"; this.Aliases = new Array(); this.Type = InstructionTypes.Immediate16; this.Operands = new Array({Operand: "$", Bitwidth: 16}); this.Words = 2; this.Cycles = 4; this.Microcode[2] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[3] = CONTROL_OUT_RO | CONTROL_RBIL | CONTROL_RAIH | CONTROL_PCC; } } is_LDBA_i = new IS_LDBA_imm16; Instructions.push(is_LDBA_i); class IS_LDBC_imm16 extends Microcode_Instruction { constructor(props) { super(props); this.Bytecode = 0x00E; this.Mnemonic = "LDBC"; this.LongName = "LOAD Register B and C"; this.Aliases = new Array(); this.Type = InstructionTypes.Immediate16; this.Operands = new Array({Operand: "$", Bitwidth: 16}); this.Words = 2; this.Cycles = 4; this.Microcode[2] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[3] = CONTROL_OUT_RO | CONTROL_RBIL | CONTROL_RCIH | CONTROL_PCC; } } is_LDBC_i = new IS_LDBC_imm16; Instructions.push(is_LDBC_i); class IS_LDBD_imm16 extends Microcode_Instruction { constructor(props) { super(props); this.Bytecode = 0x00F; this.Mnemonic = "LDBD"; this.LongName = "LOAD Register B and D"; this.Aliases = new Array(); this.Type = InstructionTypes.Immediate16; this.Operands = new Array({Operand: "$", Bitwidth: 16}); this.Words = 2; this.Cycles = 4; this.Microcode[2] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[3] = CONTROL_OUT_RO | CONTROL_RBIL | CONTROL_RDIH | CONTROL_PCC; } } is_LDBD_i = new IS_LDBD_imm16; Instructions.push(is_LDBD_i); class IS_LDCA_imm16 extends Microcode_Instruction { constructor(props) { super(props); this.Bytecode = 0x010; this.Mnemonic = "LDCA"; this.LongName = "LOAD Register C and A"; this.Aliases = new Array(); this.Type = InstructionTypes.Immediate16; this.Operands = new Array({Operand: "$", Bitwidth: 16}); this.Words = 2; this.Cycles = 4; this.Microcode[2] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[3] = CONTROL_OUT_RO | CONTROL_RCIL | CONTROL_RAIH | CONTROL_PCC; } } is_LDCA_i = new IS_LDCA_imm16; Instructions.push(is_LDCA_i); class IS_LDCB_imm16 extends Microcode_Instruction { constructor(props) { super(props); this.Bytecode = 0x011; this.Mnemonic = "LDCB"; this.LongName = "LOAD Register C and B"; this.Aliases = new Array(); this.Type = InstructionTypes.Immediate16; this.Operands = new Array({Operand: "$", Bitwidth: 16}); this.Words = 2; this.Cycles = 4; this.Microcode[2] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[3] = CONTROL_OUT_RO | CONTROL_RCIL | CONTROL_RBIH | CONTROL_PCC; } } is_LDCB_i = new IS_LDCB_imm16; Instructions.push(is_LDCB_i); class IS_LDCD_imm16 extends Microcode_Instruction { constructor(props) { super(props); this.Bytecode = 0x012; this.Mnemonic = "LDCD"; this.LongName = "LOAD Register C and D"; this.Aliases = new Array(); this.Type = InstructionTypes.Immediate16; this.Operands = new Array({Operand: "$", Bitwidth: 16}); this.Words = 2; this.Cycles = 4; this.Microcode[2] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[3] = CONTROL_OUT_RO | CONTROL_RCIL | CONTROL_RDIH | CONTROL_PCC; } } is_LDCD_i = new IS_LDCD_imm16; Instructions.push(is_LDCD_i); class IS_LDDA_imm16 extends Microcode_Instruction { constructor(props) { super(props); this.Bytecode = 0x013; this.Mnemonic = "LDDA"; this.LongName = "LOAD Register D and A"; this.Aliases = new Array(); this.Type = InstructionTypes.Immediate16; this.Operands = new Array({Operand: "$", Bitwidth: 16}); this.Words = 2; this.Cycles = 4; this.Microcode[2] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[3] = CONTROL_OUT_RO | CONTROL_RDIL | CONTROL_RAIH | CONTROL_PCC; } } is_LDDA_i = new IS_LDDA_imm16; Instructions.push(is_LDDA_i); class IS_LDDB_imm16 extends Microcode_Instruction { constructor(props) { super(props); this.Bytecode = 0x014; this.Mnemonic = "LDDB"; this.LongName = "LOAD Register D and B"; this.Aliases = new Array(); this.Type = InstructionTypes.Immediate16; this.Operands = new Array({Operand: "$", Bitwidth: 16}); this.Words = 2; this.Cycles = 4; this.Microcode[2] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[3] = CONTROL_OUT_RO | CONTROL_RDIL | CONTROL_RBIH | CONTROL_PCC; } } is_LDDB_i = new IS_LDDB_imm16; Instructions.push(is_LDDB_i); class IS_LDDC_imm16 extends Microcode_Instruction { constructor(props) { super(props); this.Bytecode = 0x015; this.Mnemonic = "LDDC"; this.LongName = "LOAD Register D and C"; this.Aliases = new Array(); this.Type = InstructionTypes.Immediate16; this.Operands = new Array({Operand: "$", Bitwidth: 16}); this.Words = 2; this.Cycles = 4; this.Microcode[2] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[3] = CONTROL_OUT_RO | CONTROL_RDIL | CONTROL_RCIH | CONTROL_PCC; } } is_LDDC_i = new IS_LDDC_imm16; Instructions.push(is_LDDC_i); class IS_LDSP_imm16 extends Microcode_Instruction { constructor(props) { super(props); this.Bytecode = 0x01E; this.Mnemonic = "LDSP"; this.LongName = "LOAD Stack Pointer"; this.Aliases = new Array(); this.Type = InstructionTypes.Immediate16; this.Operands = new Array({Operand: "$", Bitwidth: 16}); this.Words = 2; this.Cycles = 4; this.Microcode[2] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[3] = CONTROL_OUT_RO | CONTROL_SPI; } } is_LDSP_i = new IS_LDSP_imm16; Instructions.push(is_LDSP_i); class IS_LDSPP_imm8 extends Microcode_Instruction { constructor(props) { super(props); this.Bytecode = 0x01F; this.Mnemonic = "LDSPP"; this.LongName = "LOAD Stack Pointer Page"; this.Aliases = new Array(); this.Type = InstructionTypes.Immediate8; this.Operands = new Array({Operand: "$", Bitwidth: 8}); this.Words = 2; this.Cycles = 4; this.Microcode[2] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[3] = CONTROL_OUT_HS | CONTROL_PCC; } } is_LDSPP_i = new IS_LDSPP_imm8; Instructions.push(is_LDSPP_i); //--------------------------- General Purpose Registers LDx Absolutes --------------------------- // 0x01C:0x01D not used in this section class IS_LDAB_CDabs16 extends Microcode_Instruction { constructor(props) { super(props); this.Bytecode = 0x040; this.Mnemonic = "LDAB"; this.LongName = "LOAD Register A and B"; this.Aliases = new Array(); this.Type = InstructionTypes.RegisterAbsolute; this.Operands = new Array({Operand: "CD", Bitwidth: 16}); this.Words = 1; this.Cycles = 4; this.Microcode[2] = CONTROL_OUT_CD | CONTROL_RRI; this.Microcode[3] = CONTROL_OUT_RO | CONTROL_RAIL | CONTROL_RBIH; } } is_LDAB_cda = new IS_LDAB_CDabs16(); Instructions.push(is_LDAB_cda); class IS_LDCD_ABabs16 extends Microcode_Instruction { constructor(props) { super(props); this.Bytecode = 0x041; this.Mnemonic = "LDCD"; this.LongName = "LOAD Register C and D"; this.Aliases = new Array(); this.Type = InstructionTypes.RegisterAbsolute; this.Operands = new Array({Operand: "AB", Bitwidth: 16}); this.Words = 1; this.Cycles = 4; this.Microcode[2] = CONTROL_OUT_AB | CONTROL_RRI; this.Microcode[3] = CONTROL_OUT_RO | CONTROL_RCIL | CONTROL_RDIH; } } is_LDCD_aba = new IS_LDCD_ABabs16(); Instructions.push(is_LDCD_aba); class IS_LDAL_abs16 extends Microcode_Instruction { constructor(props) { super(props); this.Bytecode = 0x042; this.Mnemonic = "LDAL"; this.LongName = "LOAD Register A from LOW Byte"; this.Aliases = new Array(); this.Type = InstructionTypes.Absolute16; this.Operands = new Array({Operand: "", Bitwidth: 16}); this.Words = 2; this.Cycles = 5; this.Microcode[2] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[3] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[4] = CONTROL_OUT_RO | CONTROL_RAIL | CONTROL_PCC; } } is_LDAL_a = new IS_LDAL_abs16; Instructions.push(is_LDAL_a); class IS_LDAH_abs16 extends Microcode_Instruction { constructor(props) { super(props); this.Bytecode = 0x043; this.Mnemonic = "LDAH"; this.LongName = "LOAD Register A from HIGH Byte"; this.Aliases = new Array(); this.Type = InstructionTypes.Absolute16; this.Operands = new Array({Operand: "", Bitwidth: 16}); this.Words = 2; this.Cycles = 5; this.Microcode[2] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[3] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[4] = CONTROL_OUT_RO | CONTROL_RAIH | CONTROL_PCC; } } is_LDAH_a = new IS_LDAH_abs16; Instructions.push(is_LDAH_a); class IS_LDBL_abs16 extends Microcode_Instruction { constructor(props) { super(props); this.Bytecode = 0x044; this.Mnemonic = "LDBL"; this.LongName = "LOAD Register B from LOW Byte"; this.Aliases = new Array(); this.Type = InstructionTypes.Absolute16; this.Operands = new Array({Operand: "", Bitwidth: 16}); this.Words = 2; this.Cycles = 5; this.Microcode[2] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[3] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[4] = CONTROL_OUT_RO | CONTROL_RBIL | CONTROL_PCC; } } is_LDBL_a = new IS_LDBL_abs16; Instructions.push(is_LDBL_a); class IS_LDBH_abs16 extends Microcode_Instruction { constructor(props) { super(props); this.Bytecode = 0x045; this.Mnemonic = "LDBH"; this.LongName = "LOAD Register B from HIGH Byte"; this.Aliases = new Array(); this.Type = InstructionTypes.Absolute16; this.Operands = new Array({Operand: "", Bitwidth: 16}); this.Words = 2; this.Cycles = 5; this.Microcode[2] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[3] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[4] = CONTROL_OUT_RO | CONTROL_RBIH | CONTROL_PCC; } } is_LDBH_a = new IS_LDBH_abs16; Instructions.push(is_LDBH_a); class IS_LDCL_abs16 extends Microcode_Instruction { constructor(props) { super(props); this.Bytecode = 0x046; this.Mnemonic = "LDCL"; this.LongName = "LOAD Register C from LOW Byte"; this.Aliases = new Array(); this.Type = InstructionTypes.Absolute16; this.Operands = new Array({Operand: "", Bitwidth: 16}); this.Words = 2; this.Cycles = 5; this.Microcode[2] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[3] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[4] = CONTROL_OUT_RO | CONTROL_RCIL | CONTROL_PCC; } } is_LDCL_a = new IS_LDCL_abs16; Instructions.push(is_LDCL_a); class IS_LDCH_abs16 extends Microcode_Instruction { constructor(props) { super(props); this.Bytecode = 0x047; this.Mnemonic = "LDCH"; this.LongName = "LOAD Register C from HIGH Byte"; this.Aliases = new Array(); this.Type = InstructionTypes.Absolute16; this.Operands = new Array({Operand: "", Bitwidth: 16}); this.Words = 2; this.Cycles = 5; this.Microcode[2] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[3] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[4] = CONTROL_OUT_RO | CONTROL_RCIH | CONTROL_PCC; } } is_LDCH_a = new IS_LDCH_abs16; Instructions.push(is_LDCH_a); class IS_LDDL_abs16 extends Microcode_Instruction { constructor(props) { super(props); this.Bytecode = 0x048; this.Mnemonic = "LDDL"; this.LongName = "LOAD Register D from LOW Byte"; this.Aliases = new Array(); this.Type = InstructionTypes.Absolute16; this.Operands = new Array({Operand: "", Bitwidth: 16}); this.Words = 2; this.Cycles = 5; this.Microcode[2] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[3] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[4] = CONTROL_OUT_RO | CONTROL_RDIL | CONTROL_PCC; } } is_LDDL_a = new IS_LDDL_abs16; Instructions.push(is_LDDL_a); class IS_LDDH_abs16 extends Microcode_Instruction { constructor(props) { super(props); this.Bytecode = 0x049; this.Mnemonic = "LDDH"; this.LongName = "LOAD Register D from HIGH Byte"; this.Aliases = new Array(); this.Type = InstructionTypes.Absolute16; this.Operands = new Array({Operand: "", Bitwidth: 16}); this.Words = 2; this.Cycles = 5; this.Microcode[2] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[3] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[4] = CONTROL_OUT_RO | CONTROL_RDIH | CONTROL_PCC; } } is_LDDH_a = new IS_LDDH_abs16; Instructions.push(is_LDDH_a); class IS_LDAB_abs16 extends Microcode_Instruction { constructor(props) { super(props); this.Bytecode = 0x04A; this.Mnemonic = "LDAB"; this.LongName = "LOAD Register A and B"; this.Aliases = new Array(); this.Type = InstructionTypes.Absolute16; this.Operands = new Array({Operand: "", Bitwidth: 16}); this.Words = 2; this.Cycles = 5; this.Microcode[2] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[3] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[4] = CONTROL_OUT_RO | CONTROL_RAIL | CONTROL_RBIH | CONTROL_PCC; } } is_LDAB_a = new IS_LDAB_abs16; Instructions.push(is_LDAB_a); class IS_LDAC_abs16 extends Microcode_Instruction { constructor(props) { super(props); this.Bytecode = 0x04B; this.Mnemonic = "LDAC"; this.LongName = "LOAD Register A and C"; this.Aliases = new Array(); this.Type = InstructionTypes.Absolute16; this.Operands = new Array({Operand: "", Bitwidth: 16}); this.Words = 2; this.Cycles = 5; this.Microcode[2] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[3] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[4] = CONTROL_OUT_RO | CONTROL_RAIL | CONTROL_RCIH | CONTROL_PCC; } } is_LDAC_a = new IS_LDAC_abs16; Instructions.push(is_LDAC_a); class IS_LDAD_abs16 extends Microcode_Instruction { constructor(props) { super(props); this.Bytecode = 0x04C; this.Mnemonic = "LDAD"; this.LongName = "LOAD Register A and D"; this.Aliases = new Array(); this.Type = InstructionTypes.Absolute16; this.Operands = new Array({Operand: "", Bitwidth: 16}); this.Words = 2; this.Cycles = 5; this.Microcode[2] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[3] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[4] = CONTROL_OUT_RO | CONTROL_RAIL | CONTROL_RDIH | CONTROL_PCC; } } is_LDAD_a = new IS_LDAD_abs16; Instructions.push(is_LDAD_a); class IS_LDBA_abs16 extends Microcode_Instruction { constructor(props) { super(props); this.Bytecode = 0x04D; this.Mnemonic = "LDBA"; this.LongName = "LOAD Register B and A"; this.Aliases = new Array(); this.Type = InstructionTypes.Absolute16; this.Operands = new Array({Operand: "", Bitwidth: 16}); this.Words = 2; this.Cycles = 5; this.Microcode[2] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[3] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[4] = CONTROL_OUT_RO | CONTROL_RBIL | CONTROL_RAIH | CONTROL_PCC; } } is_LDBA_a = new IS_LDBA_abs16; Instructions.push(is_LDBA_a); class IS_LDBC_abs16 extends Microcode_Instruction { constructor(props) { super(props); this.Bytecode = 0x04E; this.Mnemonic = "LDBC"; this.LongName = "LOAD Register B and C"; this.Aliases = new Array(); this.Type = InstructionTypes.Absolute16; this.Operands = new Array({Operand: "", Bitwidth: 16}); this.Words = 2; this.Cycles = 5; this.Microcode[2] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[3] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[4] = CONTROL_OUT_RO | CONTROL_RBIL | CONTROL_RCIH | CONTROL_PCC; } } is_LDBC_a = new IS_LDBC_abs16; Instructions.push(is_LDBC_a); class IS_LDBD_abs16 extends Microcode_Instruction { constructor(props) { super(props); this.Bytecode = 0x04F; this.Mnemonic = "LDBD"; this.LongName = "LOAD Register B and D"; this.Aliases = new Array(); this.Type = InstructionTypes.Absolute16; this.Operands = new Array({Operand: "", Bitwidth: 16}); this.Words = 2; this.Cycles = 5; this.Microcode[2] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[3] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[4] = CONTROL_OUT_RO | CONTROL_RBIL | CONTROL_RDIH | CONTROL_PCC; } } is_LDBD_a = new IS_LDBD_abs16; Instructions.push(is_LDBD_a); class IS_LDCA_abs16 extends Microcode_Instruction { constructor(props) { super(props); this.Bytecode = 0x050; this.Mnemonic = "LDCA"; this.LongName = "LOAD Register C and A"; this.Aliases = new Array(); this.Type = InstructionTypes.Absolute16; this.Operands = new Array({Operand: "", Bitwidth: 16}); this.Words = 2; this.Cycles = 5; this.Microcode[2] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[3] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[4] = CONTROL_OUT_RO | CONTROL_RCIL | CONTROL_RAIH | CONTROL_PCC; } } is_LDCA_a = new IS_LDCA_abs16; Instructions.push(is_LDCA_a); class IS_LDCB_abs16 extends Microcode_Instruction { constructor(props) { super(props); this.Bytecode = 0x051; this.Mnemonic = "LDCB"; this.LongName = "LOAD Register C and B"; this.Aliases = new Array(); this.Type = InstructionTypes.Absolute16; this.Operands = new Array({Operand: "", Bitwidth: 16}); this.Words = 2; this.Cycles = 5; this.Microcode[2] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[3] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[4] = CONTROL_OUT_RO | CONTROL_RCIL | CONTROL_RBIH | CONTROL_PCC; } } is_LDCB_a = new IS_LDCB_abs16; Instructions.push(is_LDCB_a); class IS_LDCD_abs16 extends Microcode_Instruction { constructor(props) { super(props); this.Bytecode = 0x052; this.Mnemonic = "LDCD"; this.LongName = "LOAD Register C and D"; this.Aliases = new Array(); this.Type = InstructionTypes.Absolute16; this.Operands = new Array({Operand: "", Bitwidth: 16}); this.Words = 2; this.Cycles = 5; this.Microcode[2] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[3] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[4] = CONTROL_OUT_RO | CONTROL_RCIL | CONTROL_RDIH | CONTROL_PCC; } } is_LDCD_a = new IS_LDCD_abs16; Instructions.push(is_LDCD_a); class IS_LDDA_abs16 extends Microcode_Instruction { constructor(props) { super(props); this.Bytecode = 0x053; this.Mnemonic = "LDDA"; this.LongName = "LOAD Register D and A"; this.Aliases = new Array(); this.Type = InstructionTypes.Absolute16; this.Operands = new Array({Operand: "", Bitwidth: 16}); this.Words = 2; this.Cycles = 5; this.Microcode[2] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[3] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[4] = CONTROL_OUT_RO | CONTROL_RDIL | CONTROL_RAIH | CONTROL_PCC; } } is_LDDA_a = new IS_LDDA_abs16; Instructions.push(is_LDDA_a); class IS_LDDB_abs16 extends Microcode_Instruction { constructor(props) { super(props); this.Bytecode = 0x054; this.Mnemonic = "LDDB"; this.LongName = "LOAD Register D and B"; this.Aliases = new Array(); this.Type = InstructionTypes.Absolute16; this.Operands = new Array({Operand: "", Bitwidth: 16}); this.Words = 2; this.Cycles = 5; this.Microcode[2] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[3] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[4] = CONTROL_OUT_RO | CONTROL_RDIL | CONTROL_RBIH | CONTROL_PCC; } } is_LDDB_a = new IS_LDDB_abs16; Instructions.push(is_LDDB_a); class IS_LDDC_abs16 extends Microcode_Instruction { constructor(props) { super(props); this.Bytecode = 0x055; this.Mnemonic = "LDDC"; this.LongName = "LOAD Register D and C"; this.Aliases = new Array(); this.Type = InstructionTypes.Absolute16; this.Operands = new Array({Operand: "", Bitwidth: 16}); this.Words = 2; this.Cycles = 5; this.Microcode[2] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[3] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[4] = CONTROL_OUT_RO | CONTROL_RDIL | CONTROL_RCIH | CONTROL_PCC; } } is_LDDC_a = new IS_LDDC_abs16; Instructions.push(is_LDDC_a); class IS_LDAB_SPabs16 extends Microcode_Instruction { constructor(props) { super(props); this.Bytecode = 0x056; this.Mnemonic = "LDAB"; this.LongName = "LOAD Register A and B"; this.Aliases = new Array(); this.Type = InstructionTypes.RegisterAbsolute; this.Operands = new Array({Operand: "SP", Bitwidth: 16}); this.Words = 1; this.Cycles = 5; this.Microcode[2] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[3] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[4] = CONTROL_OUT_RO | CONTROL_RAIL | CONTROL_RBIH; } } is_LDAB_spa = new IS_LDAB_SPabs16(); Instructions.push(is_LDAB_spa); class IS_LDCD_SPabs16 extends Microcode_Instruction { constructor(props) { super(props); this.Bytecode = 0x057; this.Mnemonic = "LDCD"; this.LongName = "LOAD Register C and D"; this.Aliases = new Array(); this.Type = InstructionTypes.RegisterAbsolute; this.Operands = new Array({Operand: "SP", Bitwidth: 16}); this.Words = 1; this.Cycles = 5; this.Microcode[2] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[3] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[4] = CONTROL_OUT_RO | CONTROL_RCIL | CONTROL_RDIH; } } is_LDCD_spa = new IS_LDCD_SPabs16(); Instructions.push(is_LDCD_spa); class IS_LDAL_SPabs16 extends Microcode_Instruction { constructor(props) { super(props); this.Bytecode = 0x058; this.Mnemonic = "LDAL"; this.LongName = "LOAD Register A from LOW Byte"; this.Aliases = new Array(); this.Type = InstructionTypes.RegisterAbsolute; this.Operands = new Array({Operand: "SP", Bitwidth: 16}); this.Words = 1; this.Cycles = 5; this.Microcode[2] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[3] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[4] = CONTROL_OUT_RO | CONTROL_RAIL; } } is_LDAL_spa = new IS_LDAL_SPabs16(); Instructions.push(is_LDAL_spa); class IS_LDAH_SPabs16 extends Microcode_Instruction { constructor(props) { super(props); this.Bytecode = 0x059; this.Mnemonic = "LDAH"; this.LongName = "LOAD Register A from HIGH Byte"; this.Aliases = new Array(); this.Type = InstructionTypes.RegisterAbsolute; this.Operands = new Array({Operand: "SP", Bitwidth: 16}); this.Words = 1; this.Cycles = 5; this.Microcode[2] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[3] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[4] = CONTROL_OUT_RO | CONTROL_RAIH; } } is_LDAH_spa = new IS_LDAH_SPabs16(); Instructions.push(is_LDAH_spa); class IS_LDBL_SPabs16 extends Microcode_Instruction { constructor(props) { super(props); this.Bytecode = 0x05A; this.Mnemonic = "LDBL"; this.LongName = "LOAD Register B from LOW Byte"; this.Aliases = new Array(); this.Type = InstructionTypes.RegisterAbsolute; this.Operands = new Array({Operand: "SP", Bitwidth: 16}); this.Words = 1; this.Cycles = 5; this.Microcode[2] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[3] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[4] = CONTROL_OUT_RO | CONTROL_RBIL; } } is_LDBL_spa = new IS_LDBL_SPabs16(); Instructions.push(is_LDBL_spa); class IS_LDBH_SPabs16 extends Microcode_Instruction { constructor(props) { super(props); this.Bytecode = 0x05B; this.Mnemonic = "LDBH"; this.LongName = "LOAD Register B from HIGH Byte"; this.Aliases = new Array(); this.Type = InstructionTypes.RegisterAbsolute; this.Operands = new Array({Operand: "SP", Bitwidth: 16}); this.Words = 1; this.Cycles = 5; this.Microcode[2] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[3] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[4] = CONTROL_OUT_RO | CONTROL_RBIH; } } is_LDBH_spa = new IS_LDBH_SPabs16(); Instructions.push(is_LDBH_spa); class IS_LDSP_abs16 extends Microcode_Instruction { constructor(props) { super(props); this.Bytecode = 0x05E; this.Mnemonic = "LDSP"; this.LongName = "LOAD Stack Pointer"; this.Aliases = new Array(); this.Type = InstructionTypes.Absolute16; this.Operands = new Array({Operand: "", Bitwidth: 16}); this.Words = 2; this.Cycles = 4; this.Microcode[2] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[3] = CONTROL_OUT_RO | CONTROL_SPI | CONTROL_PCC; } } is_LDSP_a = new IS_LDSP_abs16; Instructions.push(is_LDSP_a); class IS_LDSPP_abs16 extends Microcode_Instruction { constructor(props) { super(props); this.Bytecode = 0x05F; this.Mnemonic = "LDSPP"; this.LongName = "LOAD Stack Pointer Page"; this.Aliases = new Array(); this.Type = InstructionTypes.Absolute16; this.Operands = new Array({Operand: "", Bitwidth: 16}); this.Words = 2; this.Cycles = 4; this.Microcode[2] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[2] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[4] = CONTROL_OUT_HS | CONTROL_PCC; } } is_LDSPP_a = new IS_LDSPP_abs16; Instructions.push(is_LDSPP_a); class IS_LDAL_abs24 extends Microcode_Instruction { constructor(props) { super(props); this.Bytecode = 0x062; this.Mnemonic = "LDAL"; this.LongName = "LOAD Register A from LOW Byte"; this.Aliases = new Array(); this.Type = InstructionTypes.Absolute24; this.Operands = new Array({Operand: "", Bitwidth: 24}); this.Words = 3; this.Cycles = 12; this.Microcode[2] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[3] = CONTROL_OUT_HO | CONTROL_RI; this.Microcode[4] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[5] = CONTROL_OUT_I2 | CONTROL_PCC; this.Microcode[6] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[7] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[8] = CONTROL_OUT_2O | CONTROL_RHI; this.Microcode[9] = CONTROL_OUT_RO | CONTROL_RAIL | CONTROL_PCC; this.Microcode[10] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[11] = CONTROL_OUT_RO | CONTROL_RHI; } } is_LDAL_a24 = new IS_LDAL_abs24; Instructions.push(is_LDAL_a24); class IS_LDAH_abs24 extends Microcode_Instruction { constructor(props) { super(props); this.Bytecode = 0x063; this.Mnemonic = "LDAH"; this.LongName = "LOAD Register A from HIGH Byte"; this.Aliases = new Array(); this.Type = InstructionTypes.Absolute24; this.Operands = new Array({Operand: "", Bitwidth: 24}); this.Words = 3; this.Cycles = 12; this.Microcode[2] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[3] = CONTROL_OUT_HO | CONTROL_RI; this.Microcode[4] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[5] = CONTROL_OUT_I2 | CONTROL_PCC; this.Microcode[6] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[7] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[8] = CONTROL_OUT_2O | CONTROL_RHI; this.Microcode[9] = CONTROL_OUT_RO | CONTROL_RAIH | CONTROL_PCC; this.Microcode[10] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[11] = CONTROL_OUT_RO | CONTROL_RHI; } } is_LDAH_a24 = new IS_LDAH_abs24; Instructions.push(is_LDAH_a24); class IS_LDBL_abs24 extends Microcode_Instruction { constructor(props) { super(props); this.Bytecode = 0x064; this.Mnemonic = "LDBL"; this.LongName = "LOAD Register B from LOW Byte"; this.Aliases = new Array(); this.Type = InstructionTypes.Absolute24; this.Operands = new Array({Operand: "", Bitwidth: 24}); this.Words = 3; this.Cycles = 12; this.Microcode[2] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[3] = CONTROL_OUT_HO | CONTROL_RI; this.Microcode[4] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[5] = CONTROL_OUT_I2 | CONTROL_PCC; this.Microcode[6] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[7] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[8] = CONTROL_OUT_2O | CONTROL_RHI; this.Microcode[9] = CONTROL_OUT_RO | CONTROL_RBIL | CONTROL_PCC; this.Microcode[10] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[11] = CONTROL_OUT_RO | CONTROL_RHI; } } is_LDBL_a24 = new IS_LDBL_abs24; Instructions.push(is_LDBL_a24); class IS_LDBH_abs24 extends Microcode_Instruction { constructor(props) { super(props); this.Bytecode = 0x065; this.Mnemonic = "LDBH"; this.LongName = "LOAD Register B from HIGH Byte"; this.Aliases = new Array(); this.Type = InstructionTypes.Absolute24; this.Operands = new Array({Operand: "", Bitwidth: 24}); this.Words = 3; this.Cycles = 12; this.Microcode[2] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[3] = CONTROL_OUT_HO | CONTROL_RI; this.Microcode[4] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[5] = CONTROL_OUT_I2 | CONTROL_PCC; this.Microcode[6] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[7] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[8] = CONTROL_OUT_2O | CONTROL_RHI; this.Microcode[9] = CONTROL_OUT_RO | CONTROL_RBIH | CONTROL_PCC; this.Microcode[10] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[11] = CONTROL_OUT_RO | CONTROL_RHI; } } is_LDBH_a24 = new IS_LDBH_abs24; Instructions.push(is_LDBH_a24); class IS_LDCL_abs24 extends Microcode_Instruction { constructor(props) { super(props); this.Bytecode = 0x066; this.Mnemonic = "LDCL"; this.LongName = "LOAD Register C from LOW Byte"; this.Aliases = new Array(); this.Type = InstructionTypes.Absolute24; this.Operands = new Array({Operand: "", Bitwidth: 24}); this.Words = 3; this.Cycles = 12; this.Microcode[2] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[3] = CONTROL_OUT_HO | CONTROL_RI; this.Microcode[4] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[5] = CONTROL_OUT_I2 | CONTROL_PCC; this.Microcode[6] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[7] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[8] = CONTROL_OUT_2O | CONTROL_RHI; this.Microcode[9] = CONTROL_OUT_RO | CONTROL_RCIL | CONTROL_PCC; this.Microcode[10] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[11] = CONTROL_OUT_RO | CONTROL_RHI; } } is_LDCL_a24 = new IS_LDCL_abs24; Instructions.push(is_LDCL_a24); class IS_LDCH_abs24 extends Microcode_Instruction { constructor(props) { super(props); this.Bytecode = 0x067; this.Mnemonic = "LDCH"; this.LongName = "LOAD Register C from HIGH Byte"; this.Aliases = new Array(); this.Type = InstructionTypes.Absolute24; this.Operands = new Array({Operand: "", Bitwidth: 24}); this.Words = 3; this.Cycles = 12; this.Microcode[2] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[3] = CONTROL_OUT_HO | CONTROL_RI; this.Microcode[4] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[5] = CONTROL_OUT_I2 | CONTROL_PCC; this.Microcode[6] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[7] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[8] = CONTROL_OUT_2O | CONTROL_RHI; this.Microcode[9] = CONTROL_OUT_RO | CONTROL_RCIH | CONTROL_PCC; this.Microcode[10] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[11] = CONTROL_OUT_RO | CONTROL_RHI; } } is_LDCH_a24 = new IS_LDCH_abs24; Instructions.push(is_LDCH_a24); class IS_LDDL_abs24 extends Microcode_Instruction { constructor(props) { super(props); this.Bytecode = 0x068; this.Mnemonic = "LDDL"; this.LongName = "LOAD Register D from LOW Byte"; this.Aliases = new Array(); this.Type = InstructionTypes.Absolute24; this.Operands = new Array({Operand: "", Bitwidth: 24}); this.Words = 3; this.Cycles = 12; this.Microcode[2] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[3] = CONTROL_OUT_HO | CONTROL_RI; this.Microcode[4] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[5] = CONTROL_OUT_I2 | CONTROL_PCC; this.Microcode[6] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[7] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[8] = CONTROL_OUT_2O | CONTROL_RHI; this.Microcode[9] = CONTROL_OUT_RO | CONTROL_RDIL | CONTROL_PCC; this.Microcode[10] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[11] = CONTROL_OUT_RO | CONTROL_RHI; } } is_LDDL_a24 = new IS_LDDL_abs24; Instructions.push(is_LDDL_a24); class IS_LDDH_abs24 extends Microcode_Instruction { constructor(props) { super(props); this.Bytecode = 0x069; this.Mnemonic = "LDDH"; this.LongName = "LOAD Register D from HIGH Byte"; this.Aliases = new Array(); this.Type = InstructionTypes.Absolute24; this.Operands = new Array({Operand: "", Bitwidth: 24}); this.Words = 3; this.Cycles = 12; this.Microcode[2] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[3] = CONTROL_OUT_HO | CONTROL_RI; this.Microcode[4] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[5] = CONTROL_OUT_I2 | CONTROL_PCC; this.Microcode[6] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[7] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[8] = CONTROL_OUT_2O | CONTROL_RHI; this.Microcode[9] = CONTROL_OUT_RO | CONTROL_RDIH | CONTROL_PCC; this.Microcode[10] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[11] = CONTROL_OUT_RO | CONTROL_RHI; } } is_LDDH_a24 = new IS_LDDH_abs24; Instructions.push(is_LDDH_a24); class IS_LDAB_abs24 extends Microcode_Instruction { constructor(props) { super(props); this.Bytecode = 0x06A; this.Mnemonic = "LDAB"; this.LongName = "LOAD Register A and B"; this.Aliases = new Array(); this.Type = InstructionTypes.Absolute24; this.Operands = new Array({Operand: "", Bitwidth: 24}); this.Words = 3; this.Cycles = 12; this.Microcode[2] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[3] = CONTROL_OUT_HO | CONTROL_RI; this.Microcode[4] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[5] = CONTROL_OUT_I2 | CONTROL_PCC; this.Microcode[6] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[7] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[8] = CONTROL_OUT_2O | CONTROL_RHI; this.Microcode[9] = CONTROL_OUT_RO | CONTROL_RAIL | CONTROL_RBIH | CONTROL_PCC; this.Microcode[10] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[11] = CONTROL_OUT_RO | CONTROL_RHI; } } is_LDAB_a24 = new IS_LDAB_abs24; Instructions.push(is_LDAB_a24); class IS_LDAC_abs24 extends Microcode_Instruction { constructor(props) { super(props); this.Bytecode = 0x06B; this.Mnemonic = "LDAC"; this.LongName = "LOAD Register A and C"; this.Aliases = new Array(); this.Type = InstructionTypes.Absolute24; this.Operands = new Array({Operand: "", Bitwidth: 24}); this.Words = 3; this.Cycles = 12; this.Microcode[2] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[3] = CONTROL_OUT_HO | CONTROL_RI; this.Microcode[4] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[5] = CONTROL_OUT_I2 | CONTROL_PCC; this.Microcode[6] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[7] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[8] = CONTROL_OUT_2O | CONTROL_RHI; this.Microcode[9] = CONTROL_OUT_RO | CONTROL_RAIL | CONTROL_RCIH | CONTROL_PCC; this.Microcode[10] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[11] = CONTROL_OUT_RO | CONTROL_RHI; } } is_LDAC_a24 = new IS_LDAC_abs24; Instructions.push(is_LDAC_a24); class IS_LDAD_abs24 extends Microcode_Instruction { constructor(props) { super(props); this.Bytecode = 0x06C; this.Mnemonic = "LDAD"; this.LongName = "LOAD Register A and D"; this.Aliases = new Array(); this.Type = InstructionTypes.Absolute24; this.Operands = new Array({Operand: "", Bitwidth: 24}); this.Words = 3; this.Cycles = 12; this.Microcode[2] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[3] = CONTROL_OUT_HO | CONTROL_RI; this.Microcode[4] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[5] = CONTROL_OUT_I2 | CONTROL_PCC; this.Microcode[6] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[7] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[8] = CONTROL_OUT_2O | CONTROL_RHI; this.Microcode[9] = CONTROL_OUT_RO | CONTROL_RAIL | CONTROL_RDIH | CONTROL_PCC; this.Microcode[10] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[11] = CONTROL_OUT_RO | CONTROL_RHI; } } is_LDAD_a24 = new IS_LDAD_abs24; Instructions.push(is_LDAD_a24); class IS_LDBA_abs24 extends Microcode_Instruction { constructor(props) { super(props); this.Bytecode = 0x06D; this.Mnemonic = "LDBA"; this.LongName = "LOAD Register B and A"; this.Aliases = new Array(); this.Type = InstructionTypes.Absolute24; this.Operands = new Array({Operand: "", Bitwidth: 24}); this.Words = 3; this.Cycles = 12; this.Microcode[2] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[3] = CONTROL_OUT_HO | CONTROL_RI; this.Microcode[4] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[5] = CONTROL_OUT_I2 | CONTROL_PCC; this.Microcode[6] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[7] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[8] = CONTROL_OUT_2O | CONTROL_RHI; this.Microcode[9] = CONTROL_OUT_RO | CONTROL_RBIL | CONTROL_RAIH | CONTROL_PCC; this.Microcode[10] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[11] = CONTROL_OUT_RO | CONTROL_RHI; } } is_LDBA_a24 = new IS_LDBA_abs24; Instructions.push(is_LDBA_a24); class IS_LDBC_abs24 extends Microcode_Instruction { constructor(props) { super(props); this.Bytecode = 0x06E; this.Mnemonic = "LDBC"; this.LongName = "LOAD Register B and C"; this.Aliases = new Array(); this.Type = InstructionTypes.Absolute24; this.Operands = new Array({Operand: "", Bitwidth: 24}); this.Words = 3; this.Cycles = 12; this.Microcode[2] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[3] = CONTROL_OUT_HO | CONTROL_RI; this.Microcode[4] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[5] = CONTROL_OUT_I2 | CONTROL_PCC; this.Microcode[6] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[7] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[8] = CONTROL_OUT_2O | CONTROL_RHI; this.Microcode[9] = CONTROL_OUT_RO | CONTROL_RBIL | CONTROL_RCIH | CONTROL_PCC; this.Microcode[10] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[11] = CONTROL_OUT_RO | CONTROL_RHI; } } is_LDBC_a24 = new IS_LDBC_abs24; Instructions.push(is_LDBC_a24); class IS_LDBD_abs24 extends Microcode_Instruction { constructor(props) { super(props); this.Bytecode = 0x06F; this.Mnemonic = "LDBD"; this.LongName = "LOAD Register B and D"; this.Aliases = new Array(); this.Type = InstructionTypes.Absolute24; this.Operands = new Array({Operand: "", Bitwidth: 24}); this.Words = 3; this.Cycles = 12; this.Microcode[2] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[3] = CONTROL_OUT_HO | CONTROL_RI; this.Microcode[4] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[5] = CONTROL_OUT_I2 | CONTROL_PCC; this.Microcode[6] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[7] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[8] = CONTROL_OUT_2O | CONTROL_RHI; this.Microcode[9] = CONTROL_OUT_RO | CONTROL_RBIL | CONTROL_RDIH | CONTROL_PCC; this.Microcode[10] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[11] = CONTROL_OUT_RO | CONTROL_RHI; } } is_LDBD_a24 = new IS_LDBD_abs24; Instructions.push(is_LDBD_a24); class IS_LDCA_abs24 extends Microcode_Instruction { constructor(props) { super(props); this.Bytecode = 0x070; this.Mnemonic = "LDCA"; this.LongName = "LOAD Register C and A"; this.Aliases = new Array(); this.Type = InstructionTypes.Absolute24; this.Operands = new Array({Operand: "", Bitwidth: 24}); this.Words = 3; this.Cycles = 12; this.Microcode[2] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[3] = CONTROL_OUT_HO | CONTROL_RI; this.Microcode[4] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[5] = CONTROL_OUT_I2 | CONTROL_PCC; this.Microcode[6] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[7] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[8] = CONTROL_OUT_2O | CONTROL_RHI; this.Microcode[9] = CONTROL_OUT_RO | CONTROL_RCIL | CONTROL_RAIH | CONTROL_PCC; this.Microcode[10] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[11] = CONTROL_OUT_RO | CONTROL_RHI; } } is_LDCA_a24 = new IS_LDCA_abs24; Instructions.push(is_LDCA_a24); class IS_LDCB_abs24 extends Microcode_Instruction { constructor(props) { super(props); this.Bytecode = 0x071; this.Mnemonic = "LDCB"; this.LongName = "LOAD Register C and B"; this.Aliases = new Array(); this.Type = InstructionTypes.Absolute24; this.Operands = new Array({Operand: "", Bitwidth: 24}); this.Words = 3; this.Cycles = 12; this.Microcode[2] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[3] = CONTROL_OUT_HO | CONTROL_RI; this.Microcode[4] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[5] = CONTROL_OUT_I2 | CONTROL_PCC; this.Microcode[6] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[7] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[8] = CONTROL_OUT_2O | CONTROL_RHI; this.Microcode[9] = CONTROL_OUT_RO | CONTROL_RCIL | CONTROL_RBIH | CONTROL_PCC; this.Microcode[10] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[11] = CONTROL_OUT_RO | CONTROL_RHI; } } is_LDCB_a24 = new IS_LDCB_abs24; Instructions.push(is_LDCB_a24); class IS_LDCD_abs24 extends Microcode_Instruction { constructor(props) { super(props); this.Bytecode = 0x072; this.Mnemonic = "LDCD"; this.LongName = "LOAD Register C and D"; this.Aliases = new Array(); this.Type = InstructionTypes.Absolute24; this.Operands = new Array({Operand: "", Bitwidth: 24}); this.Words = 3; this.Cycles = 12; this.Microcode[2] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[3] = CONTROL_OUT_HO | CONTROL_RI; this.Microcode[4] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[5] = CONTROL_OUT_I2 | CONTROL_PCC; this.Microcode[6] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[7] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[8] = CONTROL_OUT_2O | CONTROL_RHI; this.Microcode[9] = CONTROL_OUT_RO | CONTROL_RCIL | CONTROL_RDIH | CONTROL_PCC; this.Microcode[10] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[11] = CONTROL_OUT_RO | CONTROL_RHI; } } is_LDCD_a24 = new IS_LDCD_abs24; Instructions.push(is_LDCD_a24); class IS_LDDA_abs24 extends Microcode_Instruction { constructor(props) { super(props); this.Bytecode = 0x073; this.Mnemonic = "LDDA"; this.LongName = "LOAD Register D and A"; this.Aliases = new Array(); this.Type = InstructionTypes.Absolute24; this.Operands = new Array({Operand: "", Bitwidth: 24}); this.Words = 3; this.Cycles = 12; this.Microcode[2] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[3] = CONTROL_OUT_HO | CONTROL_RI; this.Microcode[4] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[5] = CONTROL_OUT_I2 | CONTROL_PCC; this.Microcode[6] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[7] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[8] = CONTROL_OUT_2O | CONTROL_RHI; this.Microcode[9] = CONTROL_OUT_RO | CONTROL_RDIL | CONTROL_RAIH | CONTROL_PCC; this.Microcode[10] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[11] = CONTROL_OUT_RO | CONTROL_RHI; } } is_LDDA_a24 = new IS_LDDA_abs24; Instructions.push(is_LDDA_a24); class IS_LDDB_abs24 extends Microcode_Instruction { constructor(props) { super(props); this.Bytecode = 0x074; this.Mnemonic = "LDDB"; this.LongName = "LOAD Register D and B"; this.Aliases = new Array(); this.Type = InstructionTypes.Absolute24; this.Operands = new Array({Operand: "", Bitwidth: 24}); this.Words = 3; this.Cycles = 12; this.Microcode[2] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[3] = CONTROL_OUT_HO | CONTROL_RI; this.Microcode[4] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[5] = CONTROL_OUT_I2 | CONTROL_PCC; this.Microcode[6] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[7] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[8] = CONTROL_OUT_2O | CONTROL_RHI; this.Microcode[9] = CONTROL_OUT_RO | CONTROL_RDIL | CONTROL_RBIH | CONTROL_PCC; this.Microcode[10] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[11] = CONTROL_OUT_RO | CONTROL_RHI; } } is_LDDB_a24 = new IS_LDDB_abs24; Instructions.push(is_LDDB_a24); class IS_LDDC_abs24 extends Microcode_Instruction { constructor(props) { super(props); this.Bytecode = 0x075; this.Mnemonic = "LDDC"; this.LongName = "LOAD Register D and C"; this.Aliases = new Array(); this.Type = InstructionTypes.Absolute24; this.Operands = new Array({Operand: "", Bitwidth: 24}); this.Words = 3; this.Cycles = 12; this.Microcode[2] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[3] = CONTROL_OUT_HO | CONTROL_RI; this.Microcode[4] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[5] = CONTROL_OUT_I2 | CONTROL_PCC; this.Microcode[6] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[7] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[8] = CONTROL_OUT_2O | CONTROL_RHI; this.Microcode[9] = CONTROL_OUT_RO | CONTROL_RDIL | CONTROL_RCIH | CONTROL_PCC; this.Microcode[10] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[11] = CONTROL_OUT_RO | CONTROL_RHI; } } is_LDDC_a24 = new IS_LDDC_abs24; Instructions.push(is_LDDC_a24); class IS_LDAB_SPabs24 extends Microcode_Instruction { constructor(props) { super(props); this.Bytecode = 0x076; this.Mnemonic = "LDAB"; this.LongName = "LOAD Register A and B"; this.Aliases = new Array(); this.Type = InstructionTypes.Absolute24; this.Operands = new Array({Operand: "SP", Bitwidth: 24}); this.Words = 1; this.Cycles = 11; this.Microcode[2] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[3] = CONTROL_OUT_HO | CONTROL_RI | CONTROL_SPC; this.Microcode[4] = CONTROL_SPC; this.Microcode[5] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[6] = CONTROL_OUT_RO | CONTROL_RHI | CONTROL_SPD | CONTROL_SPC; this.Microcode[7] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[8] = CONTROL_OUT_RO | CONTROL_RAIL | CONTROL_RBIH | CONTROL_SPD | CONTROL_SPC; this.Microcode[9] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[10] = CONTROL_OUT_RO | CONTROL_RHI; } } is_LDAB_spa24 = new IS_LDAB_SPabs24; Instructions.push(is_LDAB_spa24); class IS_LDCD_SPabs24 extends Microcode_Instruction { constructor(props) { super(props); this.Bytecode = 0x077; this.Mnemonic = "LDCD"; this.LongName = "LOAD Register C and D"; this.Aliases = new Array(); this.Type = InstructionTypes.Absolute24; this.Operands = new Array({Operand: "SP", Bitwidth: 24}); this.Words = 1; this.Cycles = 11; this.Microcode[2] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[3] = CONTROL_OUT_HO | CONTROL_RI | CONTROL_SPC; this.Microcode[4] = CONTROL_SPC; this.Microcode[5] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[6] = CONTROL_OUT_RO | CONTROL_RHI | CONTROL_SPD | CONTROL_SPC; this.Microcode[7] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[8] = CONTROL_OUT_RO | CONTROL_RCIL | CONTROL_RDIH | CONTROL_SPD | CONTROL_SPC; this.Microcode[9] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[10] = CONTROL_OUT_RO | CONTROL_RHI; } } is_LDCD_spa24 = new IS_LDCD_SPabs24; Instructions.push(is_LDCD_spa24); class IS_LDAL_SPabs24 extends Microcode_Instruction { constructor(props) { super(props); this.Bytecode = 0x078; this.Mnemonic = "LDAL"; this.LongName = "LOAD Register A from LOW Byte"; this.Aliases = new Array(); this.Type = InstructionTypes.Absolute24; this.Operands = new Array({Operand: "SP", Bitwidth: 24}); this.Words = 1; this.Cycles = 11; this.Microcode[2] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[3] = CONTROL_OUT_HO | CONTROL_RI | CONTROL_SPC; this.Microcode[4] = CONTROL_SPC; this.Microcode[5] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[6] = CONTROL_OUT_RO | CONTROL_RHI | CONTROL_SPD | CONTROL_SPC; this.Microcode[7] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[8] = CONTROL_OUT_RO | CONTROL_RAIL | CONTROL_SPD | CONTROL_SPC; this.Microcode[9] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[10] = CONTROL_OUT_RO | CONTROL_RHI; } } is_LDAL_spa24 = new IS_LDAL_SPabs24; Instructions.push(is_LDAL_spa24); class IS_LDAH_SPabs24 extends Microcode_Instruction { constructor(props) { super(props); this.Bytecode = 0x079; this.Mnemonic = "LDAH"; this.LongName = "LOAD Register A from HIGH Byte"; this.Aliases = new Array(); this.Type = InstructionTypes.Absolute24; this.Operands = new Array({Operand: "SP", Bitwidth: 24}); this.Words = 1; this.Cycles = 11; this.Microcode[2] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[3] = CONTROL_OUT_HO | CONTROL_RI | CONTROL_SPC; this.Microcode[4] = CONTROL_SPC; this.Microcode[5] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[6] = CONTROL_OUT_RO | CONTROL_RHI | CONTROL_SPD | CONTROL_SPC; this.Microcode[7] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[8] = CONTROL_OUT_RO | CONTROL_RAIH | CONTROL_SPD | CONTROL_SPC; this.Microcode[9] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[10] = CONTROL_OUT_RO | CONTROL_RHI; } } is_LDAH_spa24 = new IS_LDAH_SPabs24; Instructions.push(is_LDAH_spa24); class IS_LDBL_SPabs24 extends Microcode_Instruction { constructor(props) { super(props); this.Bytecode = 0x07A; this.Mnemonic = "LDBL"; this.LongName = "LOAD Register B from LOW Byte"; this.Aliases = new Array(); this.Type = InstructionTypes.Absolute24; this.Operands = new Array({Operand: "SP", Bitwidth: 24}); this.Words = 1; this.Cycles = 11; this.Microcode[2] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[3] = CONTROL_OUT_HO | CONTROL_RI | CONTROL_SPC; this.Microcode[4] = CONTROL_SPC; this.Microcode[5] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[6] = CONTROL_OUT_RO | CONTROL_RHI | CONTROL_SPD | CONTROL_SPC; this.Microcode[7] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[8] = CONTROL_OUT_RO | CONTROL_RBIL | CONTROL_SPD | CONTROL_SPC; this.Microcode[9] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[10] = CONTROL_OUT_RO | CONTROL_RHI; } } is_LDBL_spa24 = new IS_LDBL_SPabs24; Instructions.push(is_LDBL_spa24); class IS_LDBH_SPabs24 extends Microcode_Instruction { constructor(props) { super(props); this.Bytecode = 0x07B; this.Mnemonic = "LDBH"; this.LongName = "LOAD Register B from HIGH Byte"; this.Aliases = new Array(); this.Type = InstructionTypes.Absolute24; this.Operands = new Array({Operand: "SP", Bitwidth: 24}); this.Words = 1; this.Cycles = 11; this.Microcode[2] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[3] = CONTROL_OUT_HO | CONTROL_RI | CONTROL_SPC; this.Microcode[4] = CONTROL_SPC; this.Microcode[5] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[6] = CONTROL_OUT_RO | CONTROL_RHI | CONTROL_SPD | CONTROL_SPC; this.Microcode[7] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[8] = CONTROL_OUT_RO | CONTROL_RBIH | CONTROL_SPD | CONTROL_SPC; this.Microcode[9] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[10] = CONTROL_OUT_RO | CONTROL_RHI; } } is_LDBH_spa24 = new IS_LDBH_SPabs24; Instructions.push(is_LDBH_spa24); //--------------------------- General Purpose Registers LDx Indirect --------------------------- class IS_LDAB_CDind16 extends Microcode_Instruction { constructor(props) { super(props); this.Bytecode = 0x080; this.Mnemonic = "LDAB"; this.LongName = "LOAD Registers A and B"; this.Aliases = new Array(); this.Type = InstructionTypes.Indirect16; this.Operands = new Array({Operand: "[CD]", Bitwidth: 16}); this.Words = 1; this.Cycles = 6; this.Microcode[2] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[3] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[4] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[5] = CONTROL_OUT_RO | CONTROL_RAIL | CONTROL_RBIH | CONTROL_PCC; } } is_LDAB_CDin = new IS_LDAB_CDind16; Instructions.push(is_LDAB_CDin); class IS_LDCD_ABind16 extends Microcode_Instruction { constructor(props) { super(props); this.Bytecode = 0x081; this.Mnemonic = "LDCD"; this.LongName = "LOAD Registers C and D"; this.Aliases = new Array(); this.Type = InstructionTypes.Indirect16; this.Operands = new Array({Operand: "[AB]", Bitwidth: 16}); this.Words = 1; this.Cycles = 6; this.Microcode[2] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[3] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[4] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[5] = CONTROL_OUT_RO | CONTROL_RCIL | CONTROL_RDIH | CONTROL_PCC; } } is_LDCD_ABin = new IS_LDCD_ABind16; Instructions.push(is_LDCD_ABin); class IS_LDAL_ind16 extends Microcode_Instruction { constructor(props) { super(props); this.Bytecode = 0x082; this.Mnemonic = "LDAL"; this.LongName = "LOAD Register A from LOW Byte"; this.Aliases = new Array(); this.Type = InstructionTypes.Indirect16; this.Operands = new Array({Operand: "#", Bitwidth: 16}); this.Words = 2; this.Cycles = 6; this.Microcode[2] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[3] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[4] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[5] = CONTROL_OUT_RO | CONTROL_RAIL | CONTROL_PCC; } } is_LDAL_in = new IS_LDAL_ind16; Instructions.push(is_LDAL_in); class IS_LDAH_ind16 extends Microcode_Instruction { constructor(props) { super(props); this.Bytecode = 0x083; this.Mnemonic = "LDAH"; this.LongName = "LOAD Register A from HIGH Byte"; this.Aliases = new Array(); this.Type = InstructionTypes.Indirect16; this.Operands = new Array({Operand: "#", Bitwidth: 16}); this.Words = 2; this.Cycles = 6; this.Microcode[2] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[3] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[4] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[5] = CONTROL_OUT_RO | CONTROL_RAIH | CONTROL_PCC; } } is_LDAH_in = new IS_LDAH_ind16; Instructions.push(is_LDAH_in); class IS_LDBL_ind16 extends Microcode_Instruction { constructor(props) { super(props); this.Bytecode = 0x084; this.Mnemonic = "LDBL"; this.LongName = "LOAD Register B from LOW Byte"; this.Aliases = new Array(); this.Words = 2; this.Cycles = 6; this.Type = InstructionTypes.Indirect16; this.Operands = new Array({Operand: "#", Bitwidth: 16}); this.Microcode[2] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[3] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[4] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[5] = CONTROL_OUT_RO | CONTROL_RBIL | CONTROL_PCC; } } is_LDBL_in = new IS_LDBL_ind16; Instructions.push(is_LDBL_in); class IS_LDBH_ind16 extends Microcode_Instruction { constructor(props) { super(props); this.Bytecode = 0x085; this.Mnemonic = "LDBH"; this.LongName = "LOAD Register B from HIGH Byte"; this.Aliases = new Array(); this.Words = 2; this.Cycles = 6; this.Type = InstructionTypes.Indirect16; this.Operands = new Array({Operand: "#", Bitwidth: 16}); this.Microcode[2] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[3] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[4] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[5] = CONTROL_OUT_RO | CONTROL_RBIH | CONTROL_PCC; } } is_LDBH_in = new IS_LDBH_ind16; Instructions.push(is_LDBH_in); class IS_LDCL_ind16 extends Microcode_Instruction { constructor(props) { super(props); this.Bytecode = 0x086; this.Mnemonic = "LDCL"; this.LongName = "LOAD Register C from LOW Byte"; this.Aliases = new Array(); this.Type = InstructionTypes.Indirect16; this.Operands = new Array({Operand: "#", Bitwidth: 16}); this.Words = 2; this.Cycles = 6; this.Microcode[2] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[3] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[4] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[5] = CONTROL_OUT_RO | CONTROL_RCIL | CONTROL_PCC; } } is_LDCL_in = new IS_LDCL_ind16; Instructions.push(is_LDCL_in); class IS_LDCH_ind16 extends Microcode_Instruction { constructor(props) { super(props); this.Bytecode = 0x087; this.Mnemonic = "LDCH"; this.LongName = "LOAD Register C from HIGH Byte"; this.Aliases = new Array(); this.Type = InstructionTypes.Indirect16; this.Operands = new Array({Operand: "#", Bitwidth: 16}); this.Words = 2; this.Cycles = 6; this.Microcode[2] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[3] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[4] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[5] = CONTROL_OUT_RO | CONTROL_RCIH | CONTROL_PCC; } } is_LDCH_in = new IS_LDCH_ind16; Instructions.push(is_LDCH_in); class IS_LDDL_ind16 extends Microcode_Instruction { constructor(props) { super(props); this.Bytecode = 0x088; this.Mnemonic = "LDDL"; this.LongName = "LOAD Register D from LOW Byte"; this.Aliases = new Array(); this.Type = InstructionTypes.Indirect16; this.Operands = new Array({Operand: "#", Bitwidth: 16}); this.Words = 2; this.Cycles = 6; this.Microcode[2] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[3] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[4] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[5] = CONTROL_OUT_RO | CONTROL_RDIL | CONTROL_PCC; } } is_LDDL_in = new IS_LDDL_ind16; Instructions.push(is_LDDL_in); class IS_LDDH_ind16 extends Microcode_Instruction { constructor(props) { super(props); this.Bytecode = 0x089; this.Mnemonic = "LDDH"; this.LongName = "LOAD Register D from HIGH Byte"; this.Aliases = new Array(); this.Type = InstructionTypes.Indirect16; this.Operands = new Array({Operand: "#", Bitwidth: 16}); this.Words = 2; this.Cycles = 6; this.Microcode[2] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[3] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[4] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[5] = CONTROL_OUT_RO | CONTROL_RDIH | CONTROL_PCC; } } is_LDDH_in = new IS_LDDH_ind16; Instructions.push(is_LDDH_in); class IS_LDAB_ind16 extends Microcode_Instruction { constructor(props) { super(props); this.Bytecode = 0x08A; this.Mnemonic = "LDAB"; this.LongName = "LOAD Registers A and B"; this.Aliases = new Array(); this.Type = InstructionTypes.Indirect16; this.Operands = new Array({Operand: "#", Bitwidth: 16}); this.Words = 2; this.Cycles = 6; this.Microcode[2] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[3] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[4] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[5] = CONTROL_OUT_RO | CONTROL_RAIL | CONTROL_RBIH | CONTROL_PCC; } } is_LDAB_in = new IS_LDAB_ind16; Instructions.push(is_LDAB_in); class IS_LDAC_ind16 extends Microcode_Instruction { constructor(props) { super(props); this.Bytecode = 0x08B; this.Mnemonic = "LDAC"; this.LongName = "LOAD Registers A and C"; this.Aliases = new Array(); this.Type = InstructionTypes.Indirect16; this.Operands = new Array({Operand: "#", Bitwidth: 16}); this.Words = 2; this.Cycles = 6; this.Microcode[2] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[3] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[4] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[5] = CONTROL_OUT_RO | CONTROL_RAIL | CONTROL_RCIH | CONTROL_PCC; } } is_LDAC_in = new IS_LDAC_ind16; Instructions.push(is_LDAC_in); class IS_LDAD_ind16 extends Microcode_Instruction { constructor(props) { super(props); this.Bytecode = 0x08C; this.Mnemonic = "LDAD"; this.LongName = "LOAD Registers A and D"; this.Aliases = new Array(); this.Type = InstructionTypes.Indirect16; this.Operands = new Array({Operand: "#", Bitwidth: 16}); this.Words = 2; this.Cycles = 6; this.Microcode[2] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[3] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[4] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[5] = CONTROL_OUT_RO | CONTROL_RAIL | CONTROL_RDIH | CONTROL_PCC; } } is_LDAD_in = new IS_LDAD_ind16; Instructions.push(is_LDAD_in); class IS_LDBA_ind16 extends Microcode_Instruction { constructor(props) { super(props); this.Bytecode = 0x08D; this.Mnemonic = "LDBA"; this.LongName = "LOAD Registers B and A"; this.Aliases = new Array(); this.Type = InstructionTypes.Indirect16; this.Operands = new Array({Operand: "#", Bitwidth: 16}); this.Words = 2; this.Cycles = 6; this.Microcode[2] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[3] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[4] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[5] = CONTROL_OUT_RO | CONTROL_RBIL | CONTROL_RAIH | CONTROL_PCC; } } is_LDBA_in = new IS_LDBA_ind16; Instructions.push(is_LDBA_in); class IS_LDBC_ind16 extends Microcode_Instruction { constructor(props) { super(props); this.Bytecode = 0x08E; this.Mnemonic = "LDBC"; this.LongName = "LOAD Registers B and C"; this.Aliases = new Array(); this.Type = InstructionTypes.Indirect16; this.Operands = new Array({Operand: "#", Bitwidth: 16}); this.Words = 2; this.Cycles = 6; this.Microcode[2] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[3] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[4] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[5] = CONTROL_OUT_RO | CONTROL_RBIL | CONTROL_RCIH | CONTROL_PCC; } } is_LDBC_in = new IS_LDBC_ind16; Instructions.push(is_LDBC_in); class IS_LDBD_ind16 extends Microcode_Instruction { constructor(props) { super(props); this.Bytecode = 0x08F; this.Mnemonic = "LDBD"; this.LongName = "LOAD Registers B and D"; this.Aliases = new Array(); this.Type = InstructionTypes.Indirect16; this.Operands = new Array({Operand: "#", Bitwidth: 16}); this.Words = 2; this.Cycles = 6; this.Microcode[2] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[3] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[4] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[5] = CONTROL_OUT_RO | CONTROL_RBIL | CONTROL_RDIH | CONTROL_PCC; } } is_LDBD_in = new IS_LDBD_ind16; Instructions.push(is_LDBD_in); class IS_LDCA_ind16 extends Microcode_Instruction { constructor(props) { super(props); this.Bytecode = 0x090; this.Mnemonic = "LDCA"; this.LongName = "LOAD Registers C and A"; this.Aliases = new Array(); this.Type = InstructionTypes.Indirect16; this.Operands = new Array({Operand: "#", Bitwidth: 16}); this.Words = 2; this.Cycles = 6; this.Microcode[2] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[3] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[4] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[5] = CONTROL_OUT_RO | CONTROL_RCIL | CONTROL_RAIH | CONTROL_PCC; } } is_LDCA_in = new IS_LDCA_ind16; Instructions.push(is_LDCA_in); class IS_LDCB_ind16 extends Microcode_Instruction { constructor(props) { super(props); this.Bytecode = 0x091; this.Mnemonic = "LDCB"; this.LongName = "LOAD Registers C and B"; this.Aliases = new Array(); this.Type = InstructionTypes.Indirect16; this.Operands = new Array({Operand: "#", Bitwidth: 16}); this.Words = 2; this.Cycles = 6; this.Microcode[2] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[3] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[4] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[5] = CONTROL_OUT_RO | CONTROL_RCIL | CONTROL_RBIH | CONTROL_PCC; } } is_LDCB_in = new IS_LDCB_ind16; Instructions.push(is_LDCB_in); class IS_LDCD_ind16 extends Microcode_Instruction { constructor(props) { super(props); this.Bytecode = 0x092; this.Mnemonic = "LDCD"; this.LongName = "LOAD Registers C and D"; this.Aliases = new Array(); this.Type = InstructionTypes.Indirect16; this.Operands = new Array({Operand: "#", Bitwidth: 16}); this.Words = 2; this.Cycles = 6; this.Microcode[2] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[3] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[4] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[5] = CONTROL_OUT_RO | CONTROL_RCIL | CONTROL_RDIH | CONTROL_PCC; } } is_LDCD_in = new IS_LDCD_ind16; Instructions.push(is_LDCD_in); class IS_LDDA_ind16 extends Microcode_Instruction { constructor(props) { super(props); this.Bytecode = 0x093; this.Mnemonic = "LDDA"; this.LongName = "LOAD Registers D and A"; this.Aliases = new Array(); this.Type = InstructionTypes.Indirect16; this.Operands = new Array({Operand: "#", Bitwidth: 16}); this.Words = 2; this.Cycles = 6; this.Microcode[2] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[3] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[4] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[5] = CONTROL_OUT_RO | CONTROL_RDIL | CONTROL_RAIH | CONTROL_PCC; } } is_LDDA_in = new IS_LDDA_ind16; Instructions.push(is_LDDA_in); class IS_LDDB_ind16 extends Microcode_Instruction { constructor(props) { super(props); this.Bytecode = 0x094; this.Mnemonic = "LDDB"; this.LongName = "LOAD Registers D and B"; this.Aliases = new Array(); this.Type = InstructionTypes.Indirect16; this.Operands = new Array({Operand: "#", Bitwidth: 16}); this.Words = 2; this.Cycles = 6; this.Microcode[2] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[3] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[4] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[5] = CONTROL_OUT_RO | CONTROL_RDIL | CONTROL_RBIH | CONTROL_PCC; } } is_LDDB_in = new IS_LDDB_ind16; Instructions.push(is_LDDB_in); class IS_LDDC_ind16 extends Microcode_Instruction { constructor(props) { super(props); this.Bytecode = 0x095; this.Mnemonic = "LDDC"; this.LongName = "LOAD Registers D and C"; this.Aliases = new Array(); this.Type = InstructionTypes.Indirect16; this.Operands = new Array({Operand: "#", Bitwidth: 16}); this.Words = 2; this.Cycles = 6; this.Microcode[2] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[3] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[4] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[5] = CONTROL_OUT_RO | CONTROL_RDIL | CONTROL_RCIH | CONTROL_PCC; } } is_LDDC_in = new IS_LDDC_ind16; Instructions.push(is_LDDC_in); class IS_LDAB_SPind16 extends Microcode_Instruction { constructor(props) { super(props); this.Bytecode = 0x096; this.Mnemonic = "LDAB"; this.LongName = "LOAD Registers A and B"; this.Aliases = new Array(); this.Type = InstructionTypes.RegisterIndirect; this.Operands = new Array({Operand: "[SP]", Bitwidth: 16}); this.Words = 1; this.Cycles = 7; this.Microcode[2] = CONTROL_SPC; this.Microcode[3] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[4] = CONTROL_OUT_RO | CONTROL_RRI | CONTROL_SPD | CONTROL_SPC; this.Microcode[5] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[6] = CONTROL_OUT_RO | CONTROL_RAIL | CONTROL_RBIH | CONTROL_PCC; } } is_LDAB_SPin = new IS_LDAB_SPind16; Instructions.push(is_LDAB_SPin); class IS_LDCD_SPind16 extends Microcode_Instruction { constructor(props) { super(props); this.Bytecode = 0x097; this.Mnemonic = "LDCD"; this.LongName = "LOAD Registers C and D"; this.Aliases = new Array(); this.Type = InstructionTypes.RegisterIndirect; this.Operands = new Array({Operand: "[SP]", Bitwidth: 16}); this.Words = 1; this.Cycles = 7; this.Microcode[2] = CONTROL_SPC; this.Microcode[3] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[4] = CONTROL_OUT_RO | CONTROL_RRI | CONTROL_SPD | CONTROL_SPC; this.Microcode[5] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[6] = CONTROL_OUT_RO | CONTROL_RCIL | CONTROL_RDIH | CONTROL_PCC; } } is_LDCD_SPin = new IS_LDCD_SPind16; Instructions.push(is_LDCD_SPin); class IS_LDAL_SPind16 extends Microcode_Instruction { constructor(props) { super(props); this.Bytecode = 0x098; this.Mnemonic = "LDAL"; this.LongName = "LOAD Register A from LOW Byte"; this.Aliases = new Array(); this.Type = InstructionTypes.RegisterIndirect; this.Operands = new Array({Operand: "[SP]", Bitwidth: 16}); this.Words = 1; this.Cycles = 7; this.Microcode[2] = CONTROL_SPC; this.Microcode[3] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[4] = CONTROL_OUT_RO | CONTROL_RRI | CONTROL_SPD | CONTROL_SPC; this.Microcode[5] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[6] = CONTROL_OUT_RO | CONTROL_RAIL | CONTROL_PCC; } } is_LDAL_SPin = new IS_LDAL_SPind16; Instructions.push(is_LDAL_SPin); class IS_LDAH_SPind16 extends Microcode_Instruction { constructor(props) { super(props); this.Bytecode = 0x099; this.Mnemonic = "LDAH"; this.LongName = "LOAD Register A from HIGH Byte"; this.Aliases = new Array(); this.Type = InstructionTypes.RegisterIndirect; this.Operands = new Array({Operand: "[SP]", Bitwidth: 16}); this.Words = 1; this.Cycles = 7; this.Microcode[2] = CONTROL_SPC; this.Microcode[3] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[4] = CONTROL_OUT_RO | CONTROL_RRI | CONTROL_SPD | CONTROL_SPC; this.Microcode[5] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[6] = CONTROL_OUT_RO | CONTROL_RAIH | CONTROL_PCC; } } is_LDAH_SPin = new IS_LDAH_SPind16; Instructions.push(is_LDAH_SPin); class IS_LDBL_SPind16 extends Microcode_Instruction { constructor(props) { super(props); this.Bytecode = 0x09A; this.Mnemonic = "LDBL"; this.LongName = "LOAD Register B from LOW Byte"; this.Aliases = new Array(); this.Type = InstructionTypes.RegisterIndirect; this.Operands = new Array({Operand: "[SP]", Bitwidth: 16}); this.Words = 1; this.Cycles = 7; this.Microcode[2] = CONTROL_SPC; this.Microcode[3] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[4] = CONTROL_OUT_RO | CONTROL_RRI | CONTROL_SPD | CONTROL_SPC; this.Microcode[5] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[6] = CONTROL_OUT_RO | CONTROL_RBIL | CONTROL_PCC; } } is_LDBL_SPin = new IS_LDBL_SPind16; Instructions.push(is_LDBL_SPin); class IS_LDBH_SPind16 extends Microcode_Instruction { constructor(props) { super(props); this.Bytecode = 0x09B; this.Mnemonic = "LDBH"; this.LongName = "LOAD Register B from HIGH Byte"; this.Aliases = new Array(); this.Type = InstructionTypes.RegisterIndirect; this.Operands = new Array({Operand: "[SP]", Bitwidth: 16}); this.Words = 1; this.Cycles = 7; this.Microcode[2] = CONTROL_SPC; this.Microcode[3] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[4] = CONTROL_OUT_RO | CONTROL_RRI | CONTROL_SPD | CONTROL_SPC; this.Microcode[5] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[6] = CONTROL_OUT_RO | CONTROL_RBIH | CONTROL_PCC; } } is_LDBH_SPin = new IS_LDBH_SPind16; Instructions.push(is_LDBH_SPin); class IS_LDSP_ind16 extends Microcode_Instruction { constructor(props) { super(props); this.Bytecode = 0x09E; this.Mnemonic = "LDSP"; this.LongName = "LOAD Stack Pointer"; this.Aliases = new Array(); this.Type = InstructionTypes.RegisterIndirect; this.Operands = new Array({Operand: "[SP]", Bitwidth: 16}); this.Words = 2; this.Cycles = 6; this.Microcode[2] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[3] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[4] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[5] = CONTROL_OUT_RO | CONTROL_SPI; } } is_LDSP_in = new IS_LDSP_ind16; Instructions.push(is_LDSP_in); class IS_LDAL_ind24 extends Microcode_Instruction { constructor(props) { super(props); this.Bytecode = 0x0C2; this.Mnemonic = "LDAL"; this.LongName = "LOAD Register A from LOW Byte"; this.Aliases = new Array(); this.Type = InstructionTypes.Indirect24; this.Operands = new Array({Operand: "#", Bitwidth: 24}); this.Words = 3; this.Cycles = 13; this.Microcode[2] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[3] = CONTROL_OUT_HO | CONTROL_RI; this.Microcode[4] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[5] = CONTROL_OUT_I2 | CONTROL_PCC; this.Microcode[6] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[7] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[8] = CONTROL_OUT_2O | CONTROL_RHI; this.Microcode[9] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[10] = CONTROL_OUT_RO | CONTROL_RAIL | CONTROL_PCC; this.Microcode[11] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[12] = CONTROL_OUT_RO | CONTROL_RHI; } } is_LDAL_in24 = new IS_LDAL_ind24; Instructions.push(is_LDAL_in24); class IS_LDAH_ind24 extends Microcode_Instruction { constructor(props) { super(props); this.Bytecode = 0x0C3; this.Mnemonic = "LDAH"; this.LongName = "LOAD Register A from HIGH Byte"; this.Aliases = new Array(); this.Type = InstructionTypes.Indirect24; this.Operands = new Array({Operand: "#", Bitwidth: 24}); this.Words = 3; this.Cycles = 13; this.Microcode[2] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[3] = CONTROL_OUT_HO | CONTROL_RI; this.Microcode[4] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[5] = CONTROL_OUT_I2 | CONTROL_PCC; this.Microcode[6] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[7] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[8] = CONTROL_OUT_2O | CONTROL_RHI; this.Microcode[9] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[10] = CONTROL_OUT_RO | CONTROL_RAIH | CONTROL_PCC; this.Microcode[11] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[12] = CONTROL_OUT_RO | CONTROL_RHI; } } is_LDAH_in24 = new IS_LDAH_ind24; Instructions.push(is_LDAH_in24); class IS_LDBL_ind24 extends Microcode_Instruction { constructor(props) { super(props); this.Bytecode = 0x0C4; this.Mnemonic = "LDBL"; this.LongName = "LOAD Register B from LOW Byte"; this.Aliases = new Array(); this.Type = InstructionTypes.Indirect24; this.Operands = new Array({Operand: "#", Bitwidth: 24}); this.Words = 3; this.Cycles = 13; this.Microcode[2] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[3] = CONTROL_OUT_HO | CONTROL_RI; this.Microcode[4] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[5] = CONTROL_OUT_I2 | CONTROL_PCC; this.Microcode[6] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[7] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[8] = CONTROL_OUT_2O | CONTROL_RHI; this.Microcode[9] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[10] = CONTROL_OUT_RO | CONTROL_RBIL | CONTROL_PCC; this.Microcode[11] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[12] = CONTROL_OUT_RO | CONTROL_RHI; } } is_LDBL_in24 = new IS_LDBL_ind24; Instructions.push(is_LDBL_in24); class IS_LDBH_ind24 extends Microcode_Instruction { constructor(props) { super(props); this.Bytecode = 0x0C5; this.Mnemonic = "LDBH"; this.LongName = "LOAD Register B from HIGH Byte"; this.Aliases = new Array(); this.Type = InstructionTypes.Indirect24; this.Operands = new Array({Operand: "#", Bitwidth: 24}); this.Words = 3; this.Cycles = 13; this.Microcode[2] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[3] = CONTROL_OUT_HO | CONTROL_RI; this.Microcode[4] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[5] = CONTROL_OUT_I2 | CONTROL_PCC; this.Microcode[6] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[7] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[8] = CONTROL_OUT_2O | CONTROL_RHI; this.Microcode[9] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[10] = CONTROL_OUT_RO | CONTROL_RBIH | CONTROL_PCC; this.Microcode[11] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[12] = CONTROL_OUT_RO | CONTROL_RHI; } } is_LDBH_in24 = new IS_LDBH_ind24; Instructions.push(is_LDBH_in24); class IS_LDCL_ind24 extends Microcode_Instruction { constructor(props) { super(props); this.Bytecode = 0x0C6; this.Mnemonic = "LDCL"; this.LongName = "LOAD Register C from LOW Byte"; this.Aliases = new Array(); this.Type = InstructionTypes.Indirect24; this.Operands = new Array({Operand: "#", Bitwidth: 24}); this.Words = 3; this.Cycles = 13; this.Microcode[2] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[3] = CONTROL_OUT_HO | CONTROL_RI; this.Microcode[4] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[5] = CONTROL_OUT_I2 | CONTROL_PCC; this.Microcode[6] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[7] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[8] = CONTROL_OUT_2O | CONTROL_RHI; this.Microcode[9] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[10] = CONTROL_OUT_RO | CONTROL_RCIL | CONTROL_PCC; this.Microcode[11] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[12] = CONTROL_OUT_RO | CONTROL_RHI; } } is_LDCL_in24 = new IS_LDCL_ind24; Instructions.push(is_LDCL_in24); class IS_LDCH_ind24 extends Microcode_Instruction { constructor(props) { super(props); this.Bytecode = 0x0C7; this.Mnemonic = "LDCH"; this.LongName = "LOAD Register C from HIGH Byte"; this.Aliases = new Array(); this.Type = InstructionTypes.Indirect24; this.Operands = new Array({Operand: "#", Bitwidth: 24}); this.Words = 3; this.Cycles = 13; this.Microcode[2] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[3] = CONTROL_OUT_HO | CONTROL_RI; this.Microcode[4] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[5] = CONTROL_OUT_I2 | CONTROL_PCC; this.Microcode[6] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[7] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[8] = CONTROL_OUT_2O | CONTROL_RHI; this.Microcode[9] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[10] = CONTROL_OUT_RO | CONTROL_RCIH | CONTROL_PCC; this.Microcode[11] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[12] = CONTROL_OUT_RO | CONTROL_RHI; } } is_LDCH_in24 = new IS_LDCH_ind24; Instructions.push(is_LDCH_in24); class IS_LDDL_ind24 extends Microcode_Instruction { constructor(props) { super(props); this.Bytecode = 0x0C8; this.Mnemonic = "LDDL"; this.LongName = "LOAD Register D from LOW Byte"; this.Aliases = new Array(); this.Type = InstructionTypes.Indirect24; this.Operands = new Array({Operand: "#", Bitwidth: 24}); this.Words = 3; this.Cycles = 13; this.Microcode[2] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[3] = CONTROL_OUT_HO | CONTROL_RI; this.Microcode[4] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[5] = CONTROL_OUT_I2 | CONTROL_PCC; this.Microcode[6] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[7] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[8] = CONTROL_OUT_2O | CONTROL_RHI; this.Microcode[9] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[10] = CONTROL_OUT_RO | CONTROL_RDIL | CONTROL_PCC; this.Microcode[11] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[12] = CONTROL_OUT_RO | CONTROL_RHI; } } is_LDDL_in24 = new IS_LDDL_ind24; Instructions.push(is_LDDL_in24); class IS_LDDH_ind24 extends Microcode_Instruction { constructor(props) { super(props); this.Bytecode = 0x0C9; this.Mnemonic = "LDDH"; this.LongName = "LOAD Register D from HIGH Byte"; this.Aliases = new Array(); this.Type = InstructionTypes.Indirect24; this.Operands = new Array({Operand: "#", Bitwidth: 24}); this.Words = 3; this.Cycles = 13; this.Microcode[2] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[3] = CONTROL_OUT_HO | CONTROL_RI; this.Microcode[4] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[5] = CONTROL_OUT_I2 | CONTROL_PCC; this.Microcode[6] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[7] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[8] = CONTROL_OUT_2O | CONTROL_RHI; this.Microcode[9] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[10] = CONTROL_OUT_RO | CONTROL_RDIH | CONTROL_PCC; this.Microcode[11] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[12] = CONTROL_OUT_RO | CONTROL_RHI; } } is_LDDH_in24 = new IS_LDDH_ind24; Instructions.push(is_LDDH_in24); class IS_LDAB_ind24 extends Microcode_Instruction { constructor(props) { super(props); this.Bytecode = 0x0CA; this.Mnemonic = "LDAB"; this.LongName = "LOAD Registers A and B"; this.Aliases = new Array(); this.Type = InstructionTypes.Indirect24; this.Operands = new Array({Operand: "#", Bitwidth: 24}); this.Words = 3; this.Cycles = 13; this.Microcode[2] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[3] = CONTROL_OUT_HO | CONTROL_RI; this.Microcode[4] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[5] = CONTROL_OUT_I2 | CONTROL_PCC; this.Microcode[6] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[7] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[8] = CONTROL_OUT_2O | CONTROL_RHI; this.Microcode[9] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[10] = CONTROL_OUT_RO | CONTROL_RAIL | CONTROL_RBIH | CONTROL_PCC; this.Microcode[11] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[12] = CONTROL_OUT_RO | CONTROL_RHI; } } is_LDAB_in24 = new IS_LDAB_ind24; Instructions.push(is_LDAB_in24); class IS_LDAC_ind24 extends Microcode_Instruction { constructor(props) { super(props); this.Bytecode = 0x0CB; this.Mnemonic = "LDAC"; this.LongName = "LOAD Registers A and C"; this.Aliases = new Array(); this.Type = InstructionTypes.Indirect24; this.Operands = new Array({Operand: "#", Bitwidth: 24}); this.Words = 3; this.Cycles = 13; this.Microcode[2] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[3] = CONTROL_OUT_HO | CONTROL_RI; this.Microcode[4] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[5] = CONTROL_OUT_I2 | CONTROL_PCC; this.Microcode[6] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[7] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[8] = CONTROL_OUT_2O | CONTROL_RHI; this.Microcode[9] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[10] = CONTROL_OUT_RO | CONTROL_RAIL | CONTROL_RCIH | CONTROL_PCC; this.Microcode[11] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[12] = CONTROL_OUT_RO | CONTROL_RHI; } } is_LDAC_in24 = new IS_LDAC_ind24; Instructions.push(is_LDAC_in24); class IS_LDAD_ind24 extends Microcode_Instruction { constructor(props) { super(props); this.Bytecode = 0x0CC; this.Mnemonic = "LDAD"; this.LongName = "LOAD Registers A and D"; this.Aliases = new Array(); this.Type = InstructionTypes.Indirect24; this.Operands = new Array({Operand: "#", Bitwidth: 24}); this.Words = 3; this.Cycles = 13; this.Microcode[2] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[3] = CONTROL_OUT_HO | CONTROL_RI; this.Microcode[4] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[5] = CONTROL_OUT_I2 | CONTROL_PCC; this.Microcode[6] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[7] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[8] = CONTROL_OUT_2O | CONTROL_RHI; this.Microcode[9] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[10] = CONTROL_OUT_RO | CONTROL_RAIL | CONTROL_RDIH | CONTROL_PCC; this.Microcode[11] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[12] = CONTROL_OUT_RO | CONTROL_RHI; } } is_LDAD_in24 = new IS_LDAD_ind24; Instructions.push(is_LDAD_in24); class IS_LDBA_ind24 extends Microcode_Instruction { constructor(props) { super(props); this.Bytecode = 0x0CD; this.Mnemonic = "LDBA"; this.LongName = "LOAD Registers B and A"; this.Aliases = new Array(); this.Type = InstructionTypes.Indirect24; this.Operands = new Array({Operand: "#", Bitwidth: 24}); this.Words = 3; this.Cycles = 13; this.Microcode[2] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[3] = CONTROL_OUT_HO | CONTROL_RI; this.Microcode[4] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[5] = CONTROL_OUT_I2 | CONTROL_PCC; this.Microcode[6] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[7] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[8] = CONTROL_OUT_2O | CONTROL_RHI; this.Microcode[9] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[10] = CONTROL_OUT_RO | CONTROL_RBIL | CONTROL_RAIH | CONTROL_PCC; this.Microcode[11] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[12] = CONTROL_OUT_RO | CONTROL_RHI; } } is_LDBA_in24 = new IS_LDBA_ind24; Instructions.push(is_LDBA_in24); class IS_LDBC_ind24 extends Microcode_Instruction { constructor(props) { super(props); this.Bytecode = 0x0CE; this.Mnemonic = "LDBC"; this.LongName = "LOAD Registers B and C"; this.Aliases = new Array(); this.Type = InstructionTypes.Indirect24; this.Operands = new Array({Operand: "#", Bitwidth: 24}); this.Words = 3; this.Cycles = 13; this.Microcode[2] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[3] = CONTROL_OUT_HO | CONTROL_RI; this.Microcode[4] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[5] = CONTROL_OUT_I2 | CONTROL_PCC; this.Microcode[6] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[7] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[8] = CONTROL_OUT_2O | CONTROL_RHI; this.Microcode[9] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[10] = CONTROL_OUT_RO | CONTROL_RBIL | CONTROL_RCIH | CONTROL_PCC; this.Microcode[11] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[12] = CONTROL_OUT_RO | CONTROL_RHI; } } is_LDBC_in24 = new IS_LDBC_ind24; Instructions.push(is_LDBC_in24); class IS_LDBD_ind24 extends Microcode_Instruction { constructor(props) { super(props); this.Bytecode = 0x0CF; this.Mnemonic = "LDBD"; this.LongName = "LOAD Registers B and D"; this.Aliases = new Array(); this.Type = InstructionTypes.Indirect24; this.Operands = new Array({Operand: "#", Bitwidth: 24}); this.Words = 3; this.Cycles = 13; this.Microcode[2] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[3] = CONTROL_OUT_HO | CONTROL_RI; this.Microcode[4] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[5] = CONTROL_OUT_I2 | CONTROL_PCC; this.Microcode[6] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[7] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[8] = CONTROL_OUT_2O | CONTROL_RHI; this.Microcode[9] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[10] = CONTROL_OUT_RO | CONTROL_RBIL | CONTROL_RDIH | CONTROL_PCC; this.Microcode[11] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[12] = CONTROL_OUT_RO | CONTROL_RHI; } } is_LDBD_in24 = new IS_LDBD_ind24; Instructions.push(is_LDBD_in24); class IS_LDCA_ind24 extends Microcode_Instruction { constructor(props) { super(props); this.Bytecode = 0x0D0; this.Mnemonic = "LDCA"; this.LongName = "LOAD Registers C and A"; this.Aliases = new Array(); this.Type = InstructionTypes.Indirect24; this.Operands = new Array({Operand: "#", Bitwidth: 24}); this.Words = 3; this.Cycles = 13; this.Microcode[2] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[3] = CONTROL_OUT_HO | CONTROL_RI; this.Microcode[4] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[5] = CONTROL_OUT_I2 | CONTROL_PCC; this.Microcode[6] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[7] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[8] = CONTROL_OUT_2O | CONTROL_RHI; this.Microcode[9] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[10] = CONTROL_OUT_RO | CONTROL_RCIL | CONTROL_RAIH | CONTROL_PCC; this.Microcode[11] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[12] = CONTROL_OUT_RO | CONTROL_RHI; } } is_LDCA_in24 = new IS_LDCA_ind24; Instructions.push(is_LDCA_in24); class IS_LDCB_ind24 extends Microcode_Instruction { constructor(props) { super(props); this.Bytecode = 0x0D1; this.Mnemonic = "LDCB"; this.LongName = "LOAD Registers C and B"; this.Aliases = new Array(); this.Type = InstructionTypes.Indirect24; this.Operands = new Array({Operand: "#", Bitwidth: 24}); this.Words = 3; this.Cycles = 13; this.Microcode[2] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[3] = CONTROL_OUT_HO | CONTROL_RI; this.Microcode[4] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[5] = CONTROL_OUT_I2 | CONTROL_PCC; this.Microcode[6] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[7] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[8] = CONTROL_OUT_2O | CONTROL_RHI; this.Microcode[9] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[10] = CONTROL_OUT_RO | CONTROL_RCIL | CONTROL_RBIH | CONTROL_PCC; this.Microcode[11] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[12] = CONTROL_OUT_RO | CONTROL_RHI; } } is_LDCB_in24 = new IS_LDCB_ind24; Instructions.push(is_LDCB_in24); class IS_LDCD_ind24 extends Microcode_Instruction { constructor(props) { super(props); this.Bytecode = 0x0D2; this.Mnemonic = "LDCD"; this.LongName = "LOAD Registers C and D"; this.Aliases = new Array(); this.Type = InstructionTypes.Indirect24; this.Operands = new Array({Operand: "#", Bitwidth: 24}); this.Words = 3; this.Cycles = 13; this.Microcode[2] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[3] = CONTROL_OUT_HO | CONTROL_RI; this.Microcode[4] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[5] = CONTROL_OUT_I2 | CONTROL_PCC; this.Microcode[6] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[7] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[8] = CONTROL_OUT_2O | CONTROL_RHI; this.Microcode[9] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[10] = CONTROL_OUT_RO | CONTROL_RCIL | CONTROL_RDIH | CONTROL_PCC; this.Microcode[11] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[12] = CONTROL_OUT_RO | CONTROL_RHI; } } is_LDCD_in24 = new IS_LDCD_ind24; Instructions.push(is_LDCD_in24); class IS_LDDA_ind24 extends Microcode_Instruction { constructor(props) { super(props); this.Bytecode = 0x0D3; this.Mnemonic = "LDDA"; this.LongName = "LOAD Registers D and A"; this.Aliases = new Array(); this.Type = InstructionTypes.Indirect24; this.Operands = new Array({Operand: "#", Bitwidth: 24}); this.Words = 3; this.Cycles = 13; this.Microcode[2] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[3] = CONTROL_OUT_HO | CONTROL_RI; this.Microcode[4] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[5] = CONTROL_OUT_I2 | CONTROL_PCC; this.Microcode[6] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[7] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[8] = CONTROL_OUT_2O | CONTROL_RHI; this.Microcode[9] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[10] = CONTROL_OUT_RO | CONTROL_RDIL | CONTROL_RAIH | CONTROL_PCC; this.Microcode[11] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[12] = CONTROL_OUT_RO | CONTROL_RHI; } } is_LDDA_in24 = new IS_LDDA_ind24; Instructions.push(is_LDDA_in24); class IS_LDDB_ind24 extends Microcode_Instruction { constructor(props) { super(props); this.Bytecode = 0x0D4; this.Mnemonic = "LDDB"; this.LongName = "LOAD Registers D and B"; this.Aliases = new Array(); this.Type = InstructionTypes.Indirect24; this.Operands = new Array({Operand: "#", Bitwidth: 24}); this.Words = 3; this.Cycles = 13; this.Microcode[2] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[3] = CONTROL_OUT_HO | CONTROL_RI; this.Microcode[4] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[5] = CONTROL_OUT_I2 | CONTROL_PCC; this.Microcode[6] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[7] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[8] = CONTROL_OUT_2O | CONTROL_RHI; this.Microcode[9] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[10] = CONTROL_OUT_RO | CONTROL_RDIL | CONTROL_RBIH | CONTROL_PCC; this.Microcode[11] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[12] = CONTROL_OUT_RO | CONTROL_RHI; } } is_LDDB_in24 = new IS_LDDB_ind24; Instructions.push(is_LDDB_in24); class IS_LDDC_ind24 extends Microcode_Instruction { constructor(props) { super(props); this.Bytecode = 0x0D5; this.Mnemonic = "LDDC"; this.LongName = "LOAD Registers D and C"; this.Aliases = new Array(); this.Type = InstructionTypes.Indirect24; this.Operands = new Array({Operand: "#", Bitwidth: 24}); this.Words = 3; this.Cycles = 13; this.Microcode[2] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[3] = CONTROL_OUT_HO | CONTROL_RI; this.Microcode[4] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[5] = CONTROL_OUT_I2 | CONTROL_PCC; this.Microcode[6] = CONTROL_OUT_PC | CONTROL_RRI; this.Microcode[7] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[8] = CONTROL_OUT_2O | CONTROL_RHI; this.Microcode[9] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[10] = CONTROL_OUT_RO | CONTROL_RDIL | CONTROL_RCIH | CONTROL_PCC; this.Microcode[11] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[12] = CONTROL_OUT_RO | CONTROL_RHI; } } is_LDDC_in24 = new IS_LDDC_ind24; Instructions.push(is_LDDC_in24); class IS_LDAB_SPind24 extends Microcode_Instruction { constructor(props) { super(props); this.Bytecode = 0x0D6; this.Mnemonic = "LDAB"; this.LongName = "LOAD Register A and B"; this.Aliases = new Array(); this.Type = InstructionTypes.Indirect24; this.Operands = new Array({Operand: "[SP]", Bitwidth: 24}); this.Words = 1; this.Cycles = 12; this.Microcode[2] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[3] = CONTROL_OUT_HO | CONTROL_RI | CONTROL_SPC; this.Microcode[4] = CONTROL_SPC; this.Microcode[5] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[6] = CONTROL_OUT_RO | CONTROL_RHI | CONTROL_SPD | CONTROL_SPC; this.Microcode[7] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[8] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[9] = CONTROL_OUT_RO | CONTROL_RAIL | CONTROL_RBIH | CONTROL_SPD | CONTROL_SPC; this.Microcode[10] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[11] = CONTROL_OUT_RO | CONTROL_RHI; } } is_LDAB_spin24 = new IS_LDAB_SPind24; Instructions.push(is_LDAB_spin24); class IS_LDCD_SPind24 extends Microcode_Instruction { constructor(props) { super(props); this.Bytecode = 0x0D7; this.Mnemonic = "LDCD"; this.LongName = "LOAD Register C and D"; this.Aliases = new Array(); this.Type = InstructionTypes.Indirect24; this.Operands = new Array({Operand: "[SP]", Bitwidth: 24}); this.Words = 1; this.Cycles = 12; this.Microcode[2] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[3] = CONTROL_OUT_HO | CONTROL_RI | CONTROL_SPC; this.Microcode[4] = CONTROL_SPC; this.Microcode[5] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[6] = CONTROL_OUT_RO | CONTROL_RHI | CONTROL_SPD | CONTROL_SPC; this.Microcode[7] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[8] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[9] = CONTROL_OUT_RO | CONTROL_RCIL | CONTROL_RDIH | CONTROL_SPD | CONTROL_SPC; this.Microcode[10] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[11] = CONTROL_OUT_RO | CONTROL_RHI; } } is_LDCD_spin24 = new IS_LDCD_SPind24; Instructions.push(is_LDCD_spin24); class IS_LDAL_SPind24 extends Microcode_Instruction { constructor(props) { super(props); this.Bytecode = 0x0D8; this.Mnemonic = "LDAL"; this.LongName = "LOAD Register A from LOW Byte"; this.Aliases = new Array(); this.Type = InstructionTypes.Indirect24; this.Operands = new Array({Operand: "[SP]", Bitwidth: 24}); this.Words = 1; this.Cycles = 12; this.Microcode[2] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[3] = CONTROL_OUT_HO | CONTROL_RI | CONTROL_SPC; this.Microcode[4] = CONTROL_SPC; this.Microcode[5] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[6] = CONTROL_OUT_RO | CONTROL_RHI | CONTROL_SPD | CONTROL_SPC; this.Microcode[7] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[8] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[9] = CONTROL_OUT_RO | CONTROL_RAIL | CONTROL_SPD | CONTROL_SPC; this.Microcode[10] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[11] = CONTROL_OUT_RO | CONTROL_RHI; } } is_LDAL_spin24 = new IS_LDAL_SPind24; Instructions.push(is_LDAL_spin24); class IS_LDAH_SPind24 extends Microcode_Instruction { constructor(props) { super(props); this.Bytecode = 0x0D9; this.Mnemonic = "LDAH"; this.LongName = "LOAD Register A from HIGH Byte"; this.Aliases = new Array(); this.Type = InstructionTypes.Indirect24; this.Operands = new Array({Operand: "[SP]", Bitwidth: 24}); this.Words = 1; this.Cycles = 12; this.Microcode[2] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[3] = CONTROL_OUT_HO | CONTROL_RI | CONTROL_SPC; this.Microcode[4] = CONTROL_SPC; this.Microcode[5] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[6] = CONTROL_OUT_RO | CONTROL_RHI | CONTROL_SPD | CONTROL_SPC; this.Microcode[7] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[8] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[9] = CONTROL_OUT_RO | CONTROL_RAIH | CONTROL_SPD | CONTROL_SPC; this.Microcode[10] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[11] = CONTROL_OUT_RO | CONTROL_RHI; } } is_LDAH_spin24 = new IS_LDAH_SPind24; Instructions.push(is_LDAH_spin24); class IS_LDBL_SPind24 extends Microcode_Instruction { constructor(props) { super(props); this.Bytecode = 0x0DA; this.Mnemonic = "LDBL"; this.LongName = "LOAD Register B from LOW Byte"; this.Aliases = new Array(); this.Type = InstructionTypes.Indirect24; this.Operands = new Array({Operand: "[SP]", Bitwidth: 24}); this.Words = 1; this.Cycles = 12; this.Microcode[2] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[3] = CONTROL_OUT_HO | CONTROL_RI | CONTROL_SPC; this.Microcode[4] = CONTROL_SPC; this.Microcode[5] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[6] = CONTROL_OUT_RO | CONTROL_RHI | CONTROL_SPD | CONTROL_SPC; this.Microcode[7] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[8] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[9] = CONTROL_OUT_RO | CONTROL_RBIL | CONTROL_SPD | CONTROL_SPC; this.Microcode[10] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[11] = CONTROL_OUT_RO | CONTROL_RHI; } } is_LDBL_spin24 = new IS_LDBL_SPind24; Instructions.push(is_LDBL_spin24); class IS_LDBH_SPind24 extends Microcode_Instruction { constructor(props) { super(props); this.Bytecode = 0x0DB; this.Mnemonic = "LDBH"; this.LongName = "LOAD Register B from HIGH Byte"; this.Aliases = new Array(); this.Type = InstructionTypes.Indirect24; this.Operands = new Array({Operand: "[SP]", Bitwidth: 24}); this.Words = 1; this.Cycles = 12; this.Microcode[2] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[3] = CONTROL_OUT_HO | CONTROL_RI | CONTROL_SPC; this.Microcode[4] = CONTROL_SPC; this.Microcode[5] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[6] = CONTROL_OUT_RO | CONTROL_RHI | CONTROL_SPD | CONTROL_SPC; this.Microcode[7] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[8] = CONTROL_OUT_RO | CONTROL_RRI; this.Microcode[9] = CONTROL_OUT_RO | CONTROL_RBIH | CONTROL_SPD | CONTROL_SPC; this.Microcode[10] = CONTROL_OUT_SP | CONTROL_RRI; this.Microcode[11] = CONTROL_OUT_RO | CONTROL_RHI; } } is_LDBH_spin24 = new IS_LDBH_SPind24; Instructions.push(is_LDBH_spin24);