8SA1Sim/js/isa/stx.js

2558 lines
96 KiB
JavaScript

/*
SAVE x Instructions
OPCODE Range: 0x100:0x1FF
Addressing follows the following bit table:
0b000XXXXX Immediate store (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 FROM follows the following bit table:
0bXXX00000 [0x00] ABCD // ONLY for absolutes and indirects
0bXXX00001 [0x01] CDAB // ONLY for absolutes and indirects
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]
Examples:
24 bit indirect STAB [SP] -> 0x1D6 [0b10110110] (Stack is pushed with LSW of address first, followed by MSW of address.)
16 bit absolute STAL 0x0420 -> 0x142 [0b01000010]
*/
//--------------------------- General Purpose Registers STx 16b Immediates ---------------------------
class IS_STSP_imm16 extends Microcode_Instruction {
constructor(props) {
super(props);
this.Bytecode = 0x10E;
this.Mnemonic = "STSP";
this.LongName = "STORE Stack Pointer";
this.Aliases = new Array();
this.Type = InstructionTypes.Immediate16;
this.Operands = new Array({Operand: "$", Bitwidth: 16});
this.Words = 1;
this.Cycles = 4;
this.Microcode[2] = CONTROL_OUT_PC | CONTROL_RRI;
this.Microcode[3] = CONTROL_OUT_RO | CONTROL_SPI | CONTROL_PCC;
}
}
is_STSP_i16 = new IS_STSP_imm16;
Instructions.push(is_STSP_i16);
//--------------------------- General Purpose Registers STx 16b Absolutes ---------------------------
class IS_STAB_CDabs16 extends Microcode_Instruction {
constructor(props) {
super(props);
this.Bytecode = 0x140;
this.Mnemonic = "STAB";
this.LongName = "STORE Registers A and B";
this.Aliases = new Array();
this.Type = InstructionTypes.Absolute16;
this.Operands = new Array({Operand: "CD", Bitwidth: 16});
this.Words = 2;
this.Cycles = 4;
this.Microcode[2] = CONTROL_OUT_CD | CONTROL_RRI;
this.Microcode[3] = CONTROL_OUT_AB | CONTROL_RI;
}
}
is_STAB_cda = new IS_STAB_CDabs16;
Instructions.push(is_STAB_cda);
class IS_STCD_ABabs16 extends Microcode_Instruction {
constructor(props) {
super(props);
this.Bytecode = 0x141;
this.Mnemonic = "STCD";
this.LongName = "STORE Registers C and D";
this.Aliases = new Array();
this.Type = InstructionTypes.Absolute16;
this.Operands = new Array({Operand: "AB", Bitwidth: 16});
this.Words = 2;
this.Cycles = 4;
this.Microcode[2] = CONTROL_OUT_AB | CONTROL_RRI;
this.Microcode[3] = CONTROL_OUT_CD | CONTROL_RI;
}
}
is_STCD_aba = new IS_STCD_ABabs16;
Instructions.push(is_STCD_aba);
class IS_STAL_abs16 extends Microcode_Instruction {
constructor(props) {
super(props);
this.Bytecode = 0x142;
this.Mnemonic = "STAL";
this.LongName = "STORE Register A to LOW Byte";
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_AL | CONTROL_RI | CONTROL_PCC;
}
}
is_STAL_a = new IS_STAL_abs16;
Instructions.push(is_STAL_a);
class IS_STAH_abs16 extends Microcode_Instruction {
constructor(props) {
super(props);
this.Bytecode = 0x143;
this.Mnemonic = "STAH";
this.LongName = "STORE Register A to HIGH Byte";
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_AH | CONTROL_RI | CONTROL_PCC;
}
}
is_STAH_a = new IS_STAH_abs16;
Instructions.push(is_STAH_a);
class IS_STBL_abs16 extends Microcode_Instruction {
constructor(props) {
super(props);
this.Bytecode = 0x144;
this.Mnemonic = "STBL";
this.LongName = "STORE Register B to LOW Byte";
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_BL | CONTROL_RI | CONTROL_PCC;
}
}
is_STBL_a = new IS_STBL_abs16;
Instructions.push(is_STBL_a);
class IS_STBH_abs16 extends Microcode_Instruction {
constructor(props) {
super(props);
this.Bytecode = 0x145;
this.Mnemonic = "STBH";
this.LongName = "STORE Register B to HIGH Byte";
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_BH | CONTROL_RI | CONTROL_PCC;
}
}
is_STBH_a = new IS_STBH_abs16;
Instructions.push(is_STBH_a);
class IS_STCL_abs16 extends Microcode_Instruction {
constructor(props) {
super(props);
this.Bytecode = 0x146;
this.Mnemonic = "STCL";
this.LongName = "STORE Register C to LOW Byte";
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_CL | CONTROL_RI | CONTROL_PCC;
}
}
is_STCL_a = new IS_STCL_abs16;
Instructions.push(is_STCL_a);
class IS_STCH_abs16 extends Microcode_Instruction {
constructor(props) {
super(props);
this.Bytecode = 0x147;
this.Mnemonic = "STCH";
this.LongName = "STORE Register C to HIGH Byte";
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_CH | CONTROL_RI | CONTROL_PCC;
}
}
is_STCH_a = new IS_STCH_abs16;
Instructions.push(is_STCH_a);
class IS_STDL_abs16 extends Microcode_Instruction {
constructor(props) {
super(props);
this.Bytecode = 0x148;
this.Mnemonic = "STDL";
this.LongName = "STORE Register D to LOW Byte";
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_DL | CONTROL_RI | CONTROL_PCC;
}
}
is_STDL_a = new IS_STDL_abs16;
Instructions.push(is_STDL_a);
class IS_STDH_abs16 extends Microcode_Instruction {
constructor(props) {
super(props);
this.Bytecode = 0x149;
this.Mnemonic = "STDH";
this.LongName = "STORE Register D to HIGH Byte";
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_DH | CONTROL_RI | CONTROL_PCC;
}
}
is_STDH_a = new IS_STDH_abs16;
Instructions.push(is_STDH_a);
class IS_STAB_abs16 extends Microcode_Instruction {
constructor(props) {
super(props);
this.Bytecode = 0x14A;
this.Mnemonic = "STAB";
this.LongName = "STORE 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_AB | CONTROL_RI | CONTROL_PCC;
}
}
is_STAB_a = new IS_STAB_abs16;
Instructions.push(is_STAB_a);
class IS_STAC_abs16 extends Microcode_Instruction {
constructor(props) {
super(props);
this.Bytecode = 0x14B;
this.Mnemonic = "STAC";
this.LongName = "STORE Register A and C";
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_AC | CONTROL_RI | CONTROL_PCC;
}
}
is_STAC_a = new IS_STAC_abs16;
Instructions.push(is_STAC_a);
class IS_STAD_abs16 extends Microcode_Instruction {
constructor(props) {
super(props);
this.Bytecode = 0x14C;
this.Mnemonic = "STAD";
this.LongName = "STORE Register A and D";
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_AD | CONTROL_RI | CONTROL_PCC;
}
}
is_STAD_a = new IS_STAD_abs16;
Instructions.push(is_STAD_a);
class IS_STBA_abs16 extends Microcode_Instruction {
constructor(props) {
super(props);
this.Bytecode = 0x14D;
this.Mnemonic = "STBA";
this.LongName = "STORE Register B and A";
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_BA | CONTROL_RI | CONTROL_PCC;
}
}
is_STBA_a = new IS_STBA_abs16;
Instructions.push(is_STBA_a);
class IS_STBC_abs16 extends Microcode_Instruction {
constructor(props) {
super(props);
this.Bytecode = 0x14E;
this.Mnemonic = "STBC";
this.LongName = "STORE Register B and C";
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_BC | CONTROL_RI | CONTROL_PCC;
}
}
is_STBC_a = new IS_STBC_abs16;
Instructions.push(is_STBC_a);
class IS_STBD_abs16 extends Microcode_Instruction {
constructor(props) {
super(props);
this.Bytecode = 0x14F;
this.Mnemonic = "STBD";
this.LongName = "STORE Register B and D";
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_BD | CONTROL_RI | CONTROL_PCC;
}
}
is_STBD_a = new IS_STBD_abs16;
Instructions.push(is_STBD_a);
class IS_STCA_abs16 extends Microcode_Instruction {
constructor(props) {
super(props);
this.Bytecode = 0x150;
this.Mnemonic = "STCA";
this.LongName = "STORE Register C and A";
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_CA | CONTROL_RI | CONTROL_PCC;
}
}
is_STCA_a = new IS_STCA_abs16;
Instructions.push(is_STCA_a);
class IS_STCB_abs16 extends Microcode_Instruction {
constructor(props) {
super(props);
this.Bytecode = 0x151;
this.Mnemonic = "STCB";
this.LongName = "STORE Register C and B";
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_CB | CONTROL_RI | CONTROL_PCC;
}
}
is_STCB_a = new IS_STCB_abs16;
Instructions.push(is_STCB_a);
class IS_STCD_abs16 extends Microcode_Instruction {
constructor(props) {
super(props);
this.Bytecode = 0x152;
this.Mnemonic = "STCD";
this.LongName = "STORE Register C and D";
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_CD | CONTROL_RI | CONTROL_PCC;
}
}
is_STCD_a = new IS_STCD_abs16;
Instructions.push(is_STCD_a);
class IS_STDA_abs16 extends Microcode_Instruction {
constructor(props) {
super(props);
this.Bytecode = 0x153;
this.Mnemonic = "STDA";
this.LongName = "STORE Register D and A";
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_DA | CONTROL_RI | CONTROL_PCC;
}
}
is_STDA_a = new IS_STDA_abs16;
Instructions.push(is_STDA_a);
class IS_STDB_abs16 extends Microcode_Instruction {
constructor(props) {
super(props);
this.Bytecode = 0x154;
this.Mnemonic = "STDB";
this.LongName = "STORE Register D and B";
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_DB | CONTROL_RI | CONTROL_PCC;
}
}
is_STDB_a = new IS_STDB_abs16;
Instructions.push(is_STDB_a);
class IS_STDC_abs16 extends Microcode_Instruction {
constructor(props) {
super(props);
this.Bytecode = 0x155;
this.Mnemonic = "STDC";
this.LongName = "STORE Register D and C";
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_DC | CONTROL_RI | CONTROL_PCC;
}
}
is_STDC_a = new IS_STDC_abs16;
Instructions.push(is_STDC_a);
class IS_STSP_abs16 extends Microcode_Instruction {
constructor(props) {
super(props);
this.Bytecode = 0x15E;
this.Mnemonic = "STSP";
this.LongName = "STORE Stack Pointer";
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 | CONTROL_PCC;
this.Microcode[4] = CONTROL_OUT_RO | CONTROL_SPI;
}
}
is_STSP_a = new IS_STSP_abs16;
Instructions.push(is_STSP_a);
//--------------------------- General Purpose Registers STx 24b Absolutes ---------------------------
class IS_STAL_abs24 extends Microcode_Instruction {
constructor(props) {
super(props);
this.Bytecode = 0x162;
this.Mnemonic = "STAL";
this.LongName = "STORE Register A to 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 | CONTROL_PCC;
this.Microcode[8] = CONTROL_OUT_2O | CONTROL_RHI;
this.Microcode[9] = CONTROL_OUT_AL | CONTROL_RI;
this.Microcode[10] = CONTROL_OUT_SP | CONTROL_RRI;
this.Microcode[11] = CONTROL_OUT_RO | CONTROL_RHI;
}
}
is_STAL_a24 = new IS_STAL_abs24;
Instructions.push(is_STAL_a24);
class IS_STAH_abs24 extends Microcode_Instruction {
constructor(props) {
super(props);
this.Bytecode = 0x163;
this.Mnemonic = "STAH";
this.LongName = "STORE Register A to 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 | CONTROL_PCC;
this.Microcode[8] = CONTROL_OUT_2O | CONTROL_RHI;
this.Microcode[9] = CONTROL_OUT_AH | CONTROL_RI;
this.Microcode[10] = CONTROL_OUT_SP | CONTROL_RRI;
this.Microcode[11] = CONTROL_OUT_RO | CONTROL_RHI;
}
}
is_STAH_a24 = new IS_STAH_abs24;
Instructions.push(is_STAH_a24);
class IS_STBL_abs24 extends Microcode_Instruction {
constructor(props) {
super(props);
this.Bytecode = 0x164;
this.Mnemonic = "STBL";
this.LongName = "STORE Register B to 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 | CONTROL_PCC;
this.Microcode[8] = CONTROL_OUT_2O | CONTROL_RHI;
this.Microcode[9] = CONTROL_OUT_BL | CONTROL_RI;
this.Microcode[10] = CONTROL_OUT_SP | CONTROL_RRI;
this.Microcode[11] = CONTROL_OUT_RO | CONTROL_RHI;
}
}
is_STBL_a24 = new IS_STBL_abs24;
Instructions.push(is_STBL_a24);
class IS_STBH_abs24 extends Microcode_Instruction {
constructor(props) {
super(props);
this.Bytecode = 0x165;
this.Mnemonic = "STBH";
this.LongName = "STORE Register B to 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 | CONTROL_PCC;
this.Microcode[8] = CONTROL_OUT_2O | CONTROL_RHI;
this.Microcode[9] = CONTROL_OUT_BH | CONTROL_RI;
this.Microcode[10] = CONTROL_OUT_SP | CONTROL_RRI;
this.Microcode[11] = CONTROL_OUT_RO | CONTROL_RHI;
}
}
is_STBH_a24 = new IS_STBH_abs24;
Instructions.push(is_STBH_a24);
class IS_STCL_abs24 extends Microcode_Instruction {
constructor(props) {
super(props);
this.Bytecode = 0x166;
this.Mnemonic = "STCL";
this.LongName = "STORE Register C to 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 | CONTROL_PCC;
this.Microcode[8] = CONTROL_OUT_2O | CONTROL_RHI;
this.Microcode[9] = CONTROL_OUT_CL | CONTROL_RI;
this.Microcode[10] = CONTROL_OUT_SP | CONTROL_RRI;
this.Microcode[11] = CONTROL_OUT_RO | CONTROL_RHI;
}
}
is_STCL_a24 = new IS_STCL_abs24;
Instructions.push(is_STCL_a24);
class IS_STCH_abs24 extends Microcode_Instruction {
constructor(props) {
super(props);
this.Bytecode = 0x167;
this.Mnemonic = "STCH";
this.LongName = "STORE Register C to 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 | CONTROL_PCC;
this.Microcode[8] = CONTROL_OUT_2O | CONTROL_RHI;
this.Microcode[9] = CONTROL_OUT_CH | CONTROL_RI;
this.Microcode[10] = CONTROL_OUT_SP | CONTROL_RRI;
this.Microcode[11] = CONTROL_OUT_RO | CONTROL_RHI;
}
}
is_STCH_a24 = new IS_STCH_abs24;
Instructions.push(is_STCH_a24);
class IS_STDL_abs24 extends Microcode_Instruction {
constructor(props) {
super(props);
this.Bytecode = 0x168;
this.Mnemonic = "STDL";
this.LongName = "STORE Register D to 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 | CONTROL_PCC;
this.Microcode[8] = CONTROL_OUT_2O | CONTROL_RHI;
this.Microcode[9] = CONTROL_OUT_DL | CONTROL_RI;
this.Microcode[10] = CONTROL_OUT_SP | CONTROL_RRI;
this.Microcode[11] = CONTROL_OUT_RO | CONTROL_RHI;
}
}
is_STDL_a24 = new IS_STDL_abs24;
Instructions.push(is_STDL_a24);
class IS_STDH_abs24 extends Microcode_Instruction {
constructor(props) {
super(props);
this.Bytecode = 0x169;
this.Mnemonic = "STDH";
this.LongName = "STORE Register D to 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 | CONTROL_PCC;
this.Microcode[8] = CONTROL_OUT_2O | CONTROL_RHI;
this.Microcode[9] = CONTROL_OUT_DH | CONTROL_RI;
this.Microcode[10] = CONTROL_OUT_SP | CONTROL_RRI;
this.Microcode[11] = CONTROL_OUT_RO | CONTROL_RHI;
}
}
is_STDH_a24 = new IS_STDH_abs24;
Instructions.push(is_STDH_a24);
class IS_STAB_abs24 extends Microcode_Instruction {
constructor(props) {
super(props);
this.Bytecode = 0x16A;
this.Mnemonic = "STAB";
this.LongName = "STORE 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 | CONTROL_PCC;
this.Microcode[8] = CONTROL_OUT_2O | CONTROL_RHI;
this.Microcode[9] = CONTROL_OUT_AB | CONTROL_RI;
this.Microcode[10] = CONTROL_OUT_SP | CONTROL_RRI;
this.Microcode[11] = CONTROL_OUT_RO | CONTROL_RHI;
}
}
is_STAB_a24 = new IS_STAB_abs24;
Instructions.push(is_STAB_a24);
class IS_STAC_abs24 extends Microcode_Instruction {
constructor(props) {
super(props);
this.Bytecode = 0x16B;
this.Mnemonic = "STAC";
this.LongName = "STORE 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 | CONTROL_PCC;
this.Microcode[8] = CONTROL_OUT_2O | CONTROL_RHI;
this.Microcode[9] = CONTROL_OUT_AC | CONTROL_RI;
this.Microcode[10] = CONTROL_OUT_SP | CONTROL_RRI;
this.Microcode[11] = CONTROL_OUT_RO | CONTROL_RHI;
}
}
is_STAC_a24 = new IS_STAC_abs24;
Instructions.push(is_STAC_a24);
class IS_STAD_abs24 extends Microcode_Instruction {
constructor(props) {
super(props);
this.Bytecode = 0x16C;
this.Mnemonic = "STAD";
this.LongName = "STORE 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 | CONTROL_PCC;
this.Microcode[8] = CONTROL_OUT_2O | CONTROL_RHI;
this.Microcode[9] = CONTROL_OUT_AD | CONTROL_RI;
this.Microcode[10] = CONTROL_OUT_SP | CONTROL_RRI;
this.Microcode[11] = CONTROL_OUT_RO | CONTROL_RHI;
}
}
is_STAD_a24 = new IS_STAD_abs24;
Instructions.push(is_STAD_a24);
class IS_STBA_abs24 extends Microcode_Instruction {
constructor(props) {
super(props);
this.Bytecode = 0x16D;
this.Mnemonic = "STBA";
this.LongName = "STORE 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 | CONTROL_PCC;
this.Microcode[8] = CONTROL_OUT_2O | CONTROL_RHI;
this.Microcode[9] = CONTROL_OUT_BA | CONTROL_RI;
this.Microcode[10] = CONTROL_OUT_SP | CONTROL_RRI;
this.Microcode[11] = CONTROL_OUT_RO | CONTROL_RHI;
}
}
is_STBA_a24 = new IS_STBA_abs24;
Instructions.push(is_STBA_a24);
class IS_STBC_abs24 extends Microcode_Instruction {
constructor(props) {
super(props);
this.Bytecode = 0x16E;
this.Mnemonic = "STBC";
this.LongName = "STORE 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 | CONTROL_PCC;
this.Microcode[8] = CONTROL_OUT_2O | CONTROL_RHI;
this.Microcode[9] = CONTROL_OUT_BC | CONTROL_RI;
this.Microcode[10] = CONTROL_OUT_SP | CONTROL_RRI;
this.Microcode[11] = CONTROL_OUT_RO | CONTROL_RHI;
}
}
is_STBC_a24 = new IS_STBC_abs24;
Instructions.push(is_STBC_a24);
class IS_STBD_abs24 extends Microcode_Instruction {
constructor(props) {
super(props);
this.Bytecode = 0x16F;
this.Mnemonic = "STBD";
this.LongName = "STORE 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 | CONTROL_PCC;
this.Microcode[8] = CONTROL_OUT_2O | CONTROL_RHI;
this.Microcode[9] = CONTROL_OUT_BD | CONTROL_RI;
this.Microcode[10] = CONTROL_OUT_SP | CONTROL_RRI;
this.Microcode[11] = CONTROL_OUT_RO | CONTROL_RHI;
}
}
is_STBD_a24 = new IS_STBD_abs24;
Instructions.push(is_STBD_a24);
class IS_STCA_abs24 extends Microcode_Instruction {
constructor(props) {
super(props);
this.Bytecode = 0x170;
this.Mnemonic = "STCA";
this.LongName = "STORE 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 | CONTROL_PCC;
this.Microcode[8] = CONTROL_OUT_2O | CONTROL_RHI;
this.Microcode[9] = CONTROL_OUT_CA | CONTROL_RI;
this.Microcode[10] = CONTROL_OUT_SP | CONTROL_RRI;
this.Microcode[11] = CONTROL_OUT_RO | CONTROL_RHI;
}
}
is_STCA_a24 = new IS_STCA_abs24;
Instructions.push(is_STCA_a24);
class IS_STCB_abs24 extends Microcode_Instruction {
constructor(props) {
super(props);
this.Bytecode = 0x171;
this.Mnemonic = "STCB";
this.LongName = "STORE 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 | CONTROL_PCC;
this.Microcode[8] = CONTROL_OUT_2O | CONTROL_RHI;
this.Microcode[9] = CONTROL_OUT_CB | CONTROL_RI;
this.Microcode[10] = CONTROL_OUT_SP | CONTROL_RRI;
this.Microcode[11] = CONTROL_OUT_RO | CONTROL_RHI;
}
}
is_STCB_a24 = new IS_STCB_abs24;
Instructions.push(is_STCB_a24);
class IS_STCD_abs24 extends Microcode_Instruction {
constructor(props) {
super(props);
this.Bytecode = 0x172;
this.Mnemonic = "STCD";
this.LongName = "STORE 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 | CONTROL_PCC;
this.Microcode[8] = CONTROL_OUT_2O | CONTROL_RHI;
this.Microcode[9] = CONTROL_OUT_CD | CONTROL_RI;
this.Microcode[10] = CONTROL_OUT_SP | CONTROL_RRI;
this.Microcode[11] = CONTROL_OUT_RO | CONTROL_RHI;
}
}
is_STCD_a24 = new IS_STCD_abs24;
Instructions.push(is_STCD_a24);
class IS_STDA_abs24 extends Microcode_Instruction {
constructor(props) {
super(props);
this.Bytecode = 0x173;
this.Mnemonic = "STDA";
this.LongName = "STORE 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 | CONTROL_PCC;
this.Microcode[8] = CONTROL_OUT_2O | CONTROL_RHI;
this.Microcode[9] = CONTROL_OUT_DA | CONTROL_RI;
this.Microcode[10] = CONTROL_OUT_SP | CONTROL_RRI;
this.Microcode[11] = CONTROL_OUT_RO | CONTROL_RHI;
}
}
is_STDA_a24 = new IS_STDA_abs24;
Instructions.push(is_STDA_a24);
class IS_STDB_abs24 extends Microcode_Instruction {
constructor(props) {
super(props);
this.Bytecode = 0x174;
this.Mnemonic = "STDB";
this.LongName = "STORE 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 | CONTROL_PCC;
this.Microcode[8] = CONTROL_OUT_2O | CONTROL_RHI;
this.Microcode[9] = CONTROL_OUT_DB | CONTROL_RI;
this.Microcode[10] = CONTROL_OUT_SP | CONTROL_RRI;
this.Microcode[11] = CONTROL_OUT_RO | CONTROL_RHI;
}
}
is_STDB_a24 = new IS_STDB_abs24;
Instructions.push(is_STDB_a24);
class IS_STDC_abs24 extends Microcode_Instruction {
constructor(props) {
super(props);
this.Bytecode = 0x175;
this.Mnemonic = "STDC";
this.LongName = "STORE 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 | CONTROL_PCC;
this.Microcode[8] = CONTROL_OUT_2O | CONTROL_RHI;
this.Microcode[9] = CONTROL_OUT_DC | CONTROL_RI;
this.Microcode[10] = CONTROL_OUT_SP | CONTROL_RRI;
this.Microcode[11] = CONTROL_OUT_RO | CONTROL_RHI;
}
}
is_STDC_a24 = new IS_STDC_abs24;
Instructions.push(is_STDC_a24);
class IS_STAB_SPabs24 extends Microcode_Instruction {
constructor(props) {
super(props);
this.Bytecode = 0x176;
this.Mnemonic = "STAB";
this.LongName = "STORE 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 = 12;
this.Microcode[2] = CONTROL_OUT_SP | CONTROL_RRI;
this.Microcode[3] = CONTROL_OUT_HO | CONTROL_RI | CONTROL_SPC;
this.Microcode[4] = CONTROL_OUT_SP | CONTROL_RRI;
this.Microcode[5] = CONTROL_OUT_I2 | CONTROL_SPC;
this.Microcode[6] = CONTROL_OUT_SP | CONTROL_RRI;
this.Microcode[7] = CONTROL_OUT_RO | CONTROL_RHI | CONTROL_SPD | CONTROL_SPC;
this.Microcode[8] = CONTROL_OUT_2O | CONTROL_RRI | CONTROL_SPD | CONTROL_SPC;
this.Microcode[9] = CONTROL_OUT_AB | CONTROL_RI;
this.Microcode[10] = CONTROL_OUT_SP | CONTROL_RRI;
this.Microcode[11] = CONTROL_OUT_RO | CONTROL_RHI;
}
}
is_STAB_spa24 = new IS_STAB_SPabs24;
Instructions.push(is_STAB_spa24);
class IS_STCD_SPabs24 extends Microcode_Instruction {
constructor(props) {
super(props);
this.Bytecode = 0x177;
this.Mnemonic = "STCD";
this.LongName = "STORE 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 = 12;
this.Microcode[2] = CONTROL_OUT_SP | CONTROL_RRI;
this.Microcode[3] = CONTROL_OUT_HO | CONTROL_RI | CONTROL_SPC;
this.Microcode[4] = CONTROL_OUT_SP | CONTROL_RRI;
this.Microcode[5] = CONTROL_OUT_I2 | CONTROL_SPC;
this.Microcode[6] = CONTROL_OUT_SP | CONTROL_RRI;
this.Microcode[7] = CONTROL_OUT_RO | CONTROL_RHI | CONTROL_SPD | CONTROL_SPC;
this.Microcode[8] = CONTROL_OUT_2O | CONTROL_RRI | CONTROL_SPD | CONTROL_SPC;
this.Microcode[9] = CONTROL_OUT_CD | CONTROL_RI;
this.Microcode[10] = CONTROL_OUT_SP | CONTROL_RRI;
this.Microcode[11] = CONTROL_OUT_RO | CONTROL_RHI;
}
}
is_STCD_spa24 = new IS_STCD_SPabs24;
Instructions.push(is_STCD_spa24);
class IS_STAL_SPabs24 extends Microcode_Instruction {
constructor(props) {
super(props);
this.Bytecode = 0x178;
this.Mnemonic = "STAL";
this.LongName = "STORE Register A to LOW Byte";
this.Aliases = new Array();
this.Type = InstructionTypes.Absolute24;
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_OUT_SP | CONTROL_RRI;
this.Microcode[5] = CONTROL_OUT_I2 | CONTROL_SPC;
this.Microcode[6] = CONTROL_OUT_SP | CONTROL_RRI;
this.Microcode[7] = CONTROL_OUT_RO | CONTROL_RHI | CONTROL_SPD | CONTROL_SPC;
this.Microcode[8] = CONTROL_OUT_2O | CONTROL_RRI | CONTROL_SPD | CONTROL_SPC;
this.Microcode[9] = CONTROL_OUT_AL | CONTROL_RI;
this.Microcode[10] = CONTROL_OUT_SP | CONTROL_RRI;
this.Microcode[11] = CONTROL_OUT_RO | CONTROL_RHI;
}
}
is_STAL_spa24 = new IS_STAL_SPabs24;
Instructions.push(is_STAL_spa24);
class IS_STAH_SPabs24 extends Microcode_Instruction {
constructor(props) {
super(props);
this.Bytecode = 0x179;
this.Mnemonic = "STAH";
this.LongName = "STORE Register A to HIGH Byte";
this.Aliases = new Array();
this.Type = InstructionTypes.Absolute24;
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_OUT_SP | CONTROL_RRI;
this.Microcode[5] = CONTROL_OUT_I2 | CONTROL_SPC;
this.Microcode[6] = CONTROL_OUT_SP | CONTROL_RRI;
this.Microcode[7] = CONTROL_OUT_RO | CONTROL_RHI | CONTROL_SPD | CONTROL_SPC;
this.Microcode[8] = CONTROL_OUT_2O | CONTROL_RRI | CONTROL_SPD | CONTROL_SPC;
this.Microcode[9] = CONTROL_OUT_AH | CONTROL_RI;
this.Microcode[10] = CONTROL_OUT_SP | CONTROL_RRI;
this.Microcode[11] = CONTROL_OUT_RO | CONTROL_RHI;
}
}
is_STAH_spa24 = new IS_STAH_SPabs24;
Instructions.push(is_STAH_spa24);
class IS_STBL_SPabs24 extends Microcode_Instruction {
constructor(props) {
super(props);
this.Bytecode = 0x17A;
this.Mnemonic = "STBL";
this.LongName = "STORE Register B to LOW Byte";
this.Aliases = new Array();
this.Type = InstructionTypes.Absolute24;
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_OUT_SP | CONTROL_RRI;
this.Microcode[5] = CONTROL_OUT_I2 | CONTROL_SPC;
this.Microcode[6] = CONTROL_OUT_SP | CONTROL_RRI;
this.Microcode[7] = CONTROL_OUT_RO | CONTROL_RHI | CONTROL_SPD | CONTROL_SPC;
this.Microcode[8] = CONTROL_OUT_2O | CONTROL_RRI | CONTROL_SPD | CONTROL_SPC;
this.Microcode[9] = CONTROL_OUT_BL | CONTROL_RI;
this.Microcode[10] = CONTROL_OUT_SP | CONTROL_RRI;
this.Microcode[11] = CONTROL_OUT_RO | CONTROL_RHI;
}
}
is_STBL_spa24 = new IS_STBL_SPabs24;
Instructions.push(is_STBL_spa24);
class IS_STBH_SPabs24 extends Microcode_Instruction {
constructor(props) {
super(props);
this.Bytecode = 0x17B;
this.Mnemonic = "STBH";
this.LongName = "STORE Register B to HIGH Byte";
this.Aliases = new Array();
this.Type = InstructionTypes.Absolute24;
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_OUT_SP | CONTROL_RRI;
this.Microcode[5] = CONTROL_OUT_I2 | CONTROL_SPC;
this.Microcode[6] = CONTROL_OUT_SP | CONTROL_RRI;
this.Microcode[7] = CONTROL_OUT_RO | CONTROL_RHI | CONTROL_SPD | CONTROL_SPC;
this.Microcode[8] = CONTROL_OUT_2O | CONTROL_RRI | CONTROL_SPD | CONTROL_SPC;
this.Microcode[9] = CONTROL_OUT_BH | CONTROL_RI;
this.Microcode[10] = CONTROL_OUT_SP | CONTROL_RRI;
this.Microcode[11] = CONTROL_OUT_RO | CONTROL_RHI;
}
}
is_STBH_spa24 = new IS_STBH_SPabs24;
Instructions.push(is_STBH_spa24);
//--------------------------- General Purpose Registers STx 16b Indirect ---------------------------
class IS_STAB_CDind16 extends Microcode_Instruction {
constructor(props) {
super(props);
this.Bytecode = 0x180;
this.Mnemonic = "STAB";
this.LongName = "STORE Register A and B";
this.Aliases = new Array();
this.Type = InstructionTypes.Indirect16;
this.Operands = new Array({Operand: "[CD]", Bitwidth: 16});
this.Words = 1;
this.Cycles = 5;
this.Microcode[2] = CONTROL_OUT_CD | CONTROL_RRI;
this.Microcode[3] = CONTROL_OUT_RO | CONTROL_RRI;
this.Microcode[4] = CONTROL_OUT_AB | CONTROL_RI;
}
}
is_STAB_cdin = new IS_STAB_CDind16;
Instructions.push(is_STAB_cdin);
class IS_STCD_ABind16 extends Microcode_Instruction {
constructor(props) {
super(props);
this.Bytecode = 0x181;
this.Mnemonic = "STCD";
this.LongName = "STORE Register C and D";
this.Aliases = new Array();
this.Type = InstructionTypes.Indirect16;
this.Operands = new Array({Operand: "[AB]", Bitwidth: 16});
this.Words = 1;
this.Cycles = 5;
this.Microcode[2] = CONTROL_OUT_AB | CONTROL_RRI;
this.Microcode[3] = CONTROL_OUT_RO | CONTROL_RRI;
this.Microcode[4] = CONTROL_OUT_CD | CONTROL_RI;
}
}
is_STCD_abin = new IS_STCD_ABind16;
Instructions.push(is_STCD_abin);
class IS_STAL_ind16 extends Microcode_Instruction {
constructor(props) {
super(props);
this.Bytecode = 0x182;
this.Mnemonic = "STAL";
this.LongName = "STORE Register A to LOW Byte";
this.Aliases = new Array();
this.Type = InstructionTypes.Indirect16;
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_AL | CONTROL_RI;
}
}
is_STAL_in = new IS_STAL_ind16;
Instructions.push(is_STAL_in);
class IS_STAH_ind16 extends Microcode_Instruction {
constructor(props) {
super(props);
this.Bytecode = 0x183;
this.Mnemonic = "STAH";
this.LongName = "STORE Register A to HIGH Byte";
this.Aliases = new Array();
this.Type = InstructionTypes.Indirect16;
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_AH | CONTROL_RI;
}
}
is_STAH_in = new IS_STAH_ind16;
Instructions.push(is_STAH_in);
class IS_STBL_ind16 extends Microcode_Instruction {
constructor(props) {
super(props);
this.Bytecode = 0x184;
this.Mnemonic = "STBL";
this.LongName = "STORE Register B to LOW Byte";
this.Aliases = new Array();
this.Type = InstructionTypes.Indirect16;
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_BL | CONTROL_RI;
}
}
is_STBL_in = new IS_STBL_ind16;
Instructions.push(is_STBL_in);
class IS_STBH_ind16 extends Microcode_Instruction {
constructor(props) {
super(props);
this.Bytecode = 0x185;
this.Mnemonic = "STBH";
this.LongName = "STORE Register B to HIGH Byte";
this.Aliases = new Array();
this.Type = InstructionTypes.Indirect16;
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_BH | CONTROL_RI;
}
}
is_STBH_in = new IS_STBH_ind16;
Instructions.push(is_STBH_in);
class IS_STCL_ind16 extends Microcode_Instruction {
constructor(props) {
super(props);
this.Bytecode = 0x186;
this.Mnemonic = "STCL";
this.LongName = "STORE Register C to LOW Byte";
this.Aliases = new Array();
this.Type = InstructionTypes.Indirect16;
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_CL | CONTROL_RI;
}
}
is_STCL_in = new IS_STCL_ind16;
Instructions.push(is_STCL_in);
class IS_STCH_ind16 extends Microcode_Instruction {
constructor(props) {
super(props);
this.Bytecode = 0x187;
this.Mnemonic = "STCH";
this.LongName = "STORE Register C to HIGH Byte";
this.Aliases = new Array();
this.Type = InstructionTypes.Indirect16;
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_CH | CONTROL_RI;
}
}
is_STCH_in = new IS_STCH_ind16;
Instructions.push(is_STCH_in);
class IS_STDL_ind16 extends Microcode_Instruction {
constructor(props) {
super(props);
this.Bytecode = 0x188;
this.Mnemonic = "STDL";
this.LongName = "STORE Register D to LOW Byte";
this.Aliases = new Array();
this.Type = InstructionTypes.Indirect16;
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_DL | CONTROL_RI;
}
}
is_STDL_in = new IS_STDL_ind16;
Instructions.push(is_STDL_in);
class IS_STDH_ind16 extends Microcode_Instruction {
constructor(props) {
super(props);
this.Bytecode = 0x189;
this.Mnemonic = "STDH";
this.LongName = "STORE Register D to HIGH Byte";
this.Aliases = new Array();
this.Type = InstructionTypes.Indirect16;
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_DH | CONTROL_RI;
}
}
is_STDH_in = new IS_STDH_ind16;
Instructions.push(is_STDH_in);
class IS_STAB_ind16 extends Microcode_Instruction {
constructor(props) {
super(props);
this.Bytecode = 0x18A;
this.Mnemonic = "STAB";
this.LongName = "STORE Registers A and B";
this.Aliases = new Array();
this.Type = InstructionTypes.Indirect16;
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_AB | CONTROL_RI;
}
}
is_STAB_in = new IS_STAB_ind16;
Instructions.push(is_STAB_in);
class IS_STAC_ind16 extends Microcode_Instruction {
constructor(props) {
super(props);
this.Bytecode = 0x18B;
this.Mnemonic = "STAC";
this.LongName = "STORE Registers A and C";
this.Aliases = new Array();
this.Type = InstructionTypes.Indirect16;
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_AC | CONTROL_RI;
}
}
is_STAC_in = new IS_STAC_ind16;
Instructions.push(is_STAC_in);
class IS_STAD_ind16 extends Microcode_Instruction {
constructor(props) {
super(props);
this.Bytecode = 0x18C;
this.Mnemonic = "STAD";
this.LongName = "STORE Registers A and D";
this.Aliases = new Array();
this.Type = InstructionTypes.Indirect16;
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_AD | CONTROL_RI;
}
}
is_STAD_in = new IS_STAD_ind16;
Instructions.push(is_STAD_in);
class IS_STBA_ind16 extends Microcode_Instruction {
constructor(props) {
super(props);
this.Bytecode = 0x18D;
this.Mnemonic = "STBA";
this.LongName = "STORE Registers B and A";
this.Aliases = new Array();
this.Type = InstructionTypes.Indirect16;
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_BA | CONTROL_RI;
}
}
is_STBA_in = new IS_STBA_ind16;
Instructions.push(is_STBA_in);
class IS_STBC_ind16 extends Microcode_Instruction {
constructor(props) {
super(props);
this.Bytecode = 0x18E;
this.Mnemonic = "STBC";
this.LongName = "STORE Registers B and C";
this.Aliases = new Array();
this.Type = InstructionTypes.Indirect16;
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_BC | CONTROL_RI;
}
}
is_STBC_in = new IS_STBC_ind16;
Instructions.push(is_STBC_in);
class IS_STBD_ind16 extends Microcode_Instruction {
constructor(props) {
super(props);
this.Bytecode = 0x18F;
this.Mnemonic = "STBD";
this.LongName = "STORE Registers B and D";
this.Aliases = new Array();
this.Type = InstructionTypes.Indirect16;
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_BD | CONTROL_RI;
}
}
is_STBD_in = new IS_STBD_ind16;
Instructions.push(is_STBD_in);
class IS_STCA_ind16 extends Microcode_Instruction {
constructor(props) {
super(props);
this.Bytecode = 0x190;
this.Mnemonic = "STCA";
this.LongName = "STORE Registers C and A";
this.Aliases = new Array();
this.Type = InstructionTypes.Indirect16;
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_CA | CONTROL_RI;
}
}
is_STCA_in = new IS_STCA_ind16;
Instructions.push(is_STCA_in);
class IS_STCB_ind16 extends Microcode_Instruction {
constructor(props) {
super(props);
this.Bytecode = 0x191;
this.Mnemonic = "STCB";
this.LongName = "STORE Registers C and B";
this.Aliases = new Array();
this.Type = InstructionTypes.Indirect16;
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_CB | CONTROL_RI;
}
}
is_STCB_in = new IS_STCB_ind16;
Instructions.push(is_STCB_in);
class IS_STCD_ind16 extends Microcode_Instruction {
constructor(props) {
super(props);
this.Bytecode = 0x192;
this.Mnemonic = "STCD";
this.LongName = "STORE Registers C and D";
this.Aliases = new Array();
this.Type = InstructionTypes.Indirect16;
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_CD | CONTROL_RI;
}
}
is_STCD_in = new IS_STCD_ind16;
Instructions.push(is_STCD_in);
class IS_STDA_ind16 extends Microcode_Instruction {
constructor(props) {
super(props);
this.Bytecode = 0x193;
this.Mnemonic = "STDA";
this.LongName = "STORE Registers D and A";
this.Aliases = new Array();
this.Type = InstructionTypes.Indirect16;
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_DA | CONTROL_RI;
}
}
is_STDA_in = new IS_STDA_ind16;
Instructions.push(is_STDA_in);
class IS_STDB_ind16 extends Microcode_Instruction {
constructor(props) {
super(props);
this.Bytecode = 0x194;
this.Mnemonic = "STDB";
this.LongName = "STORE Registers D and B";
this.Aliases = new Array();
this.Type = InstructionTypes.Indirect16;
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_DB | CONTROL_RI;
}
}
is_STDB_in = new IS_STDB_ind16;
Instructions.push(is_STDB_in);
class IS_STDC_ind16 extends Microcode_Instruction {
constructor(props) {
super(props);
this.Bytecode = 0x195;
this.Mnemonic = "STDC";
this.LongName = "STORE Registers D and C";
this.Aliases = new Array();
this.Type = InstructionTypes.Indirect16;
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_DC | CONTROL_RI;
}
}
is_STDC_in = new IS_STDC_ind16;
Instructions.push(is_STDC_in);
class IS_STAB_SPind16 extends Microcode_Instruction {
constructor(props) {
super(props);
this.Bytecode = 0x196;
this.Mnemonic = "STAB";
this.LongName = "STORE Registers A and B";
this.Aliases = new Array();
this.Type = InstructionTypes.Indirect16;
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_AB | CONTROL_RI;
}
}
is_STAB_spin = new IS_STAB_SPind16;
Instructions.push(is_STAB_spin);
class IS_STCD_SPind16 extends Microcode_Instruction {
constructor(props) {
super(props);
this.Bytecode = 0x197;
this.Mnemonic = "STCD";
this.LongName = "STORE Registers C and D";
this.Aliases = new Array();
this.Type = InstructionTypes.Indirect16;
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_CD | CONTROL_RI;
}
}
is_STCD_spin = new IS_STCD_SPind16;
Instructions.push(is_STCD_spin);
class IS_STAL_SPind16 extends Microcode_Instruction {
constructor(props) {
super(props);
this.Bytecode = 0x198;
this.Mnemonic = "STAL";
this.LongName = "STORE Register A to LOW Byte";
this.Aliases = new Array();
this.Type = InstructionTypes.Indirect16;
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_AL | CONTROL_RI;
}
}
is_STAL_spin = new IS_STAL_SPind16;
Instructions.push(is_STAL_spin);
class IS_STAH_SPind16 extends Microcode_Instruction {
constructor(props) {
super(props);
this.Bytecode = 0x199;
this.Mnemonic = "STAH";
this.LongName = "STORE Register A to HIGH Byte";
this.Aliases = new Array();
this.Type = InstructionTypes.Indirect16;
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_AH | CONTROL_RI;
}
}
is_STAH_spin = new IS_STAH_SPind16;
Instructions.push(is_STAH_spin);
class IS_STBL_SPind16 extends Microcode_Instruction {
constructor(props) {
super(props);
this.Bytecode = 0x19A;
this.Mnemonic = "STBL";
this.LongName = "STORE Register B to LOW Byte";
this.Aliases = new Array();
this.Type = InstructionTypes.Indirect16;
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_BL | CONTROL_RI;
}
}
is_STBL_spin = new IS_STBL_SPind16;
Instructions.push(is_STBL_spin);
class IS_STBH_SPind16 extends Microcode_Instruction {
constructor(props) {
super(props);
this.Bytecode = 0x19B;
this.Mnemonic = "STBH";
this.LongName = "STORE Register B to HIGH Byte";
this.Aliases = new Array();
this.Type = InstructionTypes.Indirect16;
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_BH | CONTROL_RI;
}
}
is_STBH_spin = new IS_STBH_SPind16;
Instructions.push(is_STBH_spin);
class IS_STSP_ind16 extends Microcode_Instruction {
constructor(props) {
super(props);
this.Bytecode = 0x19E;
this.Mnemonic = "STSP";
this.LongName = "STORE Stack Pointer";
this.Aliases = new Array();
this.Type = InstructionTypes.Indirect16;
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 | CONTROL_PCC;
this.Microcode[4] = CONTROL_OUT_RO | CONTROL_RRI;
this.Microcode[5] = CONTROL_OUT_RO | CONTROL_SPI;
}
}
is_STSP_in = new IS_STSP_ind16;
Instructions.push(is_STSP_in);
//--------------------------- General Purpose Registers STx 24b Indirect ---------------------------
class IS_STAL_ind24 extends Microcode_Instruction {
constructor(props) {
super(props);
this.Bytecode = 0x1C2;
this.Mnemonic = "STAL";
this.LongName = "STORE Register A to 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 | CONTROL_PCC;
this.Microcode[8] = CONTROL_OUT_2O | CONTROL_RHI;
this.Microcode[9] = CONTROL_OUT_RO | CONTROL_RRI;
this.Microcode[10] = CONTROL_OUT_AL | CONTROL_RI;
this.Microcode[11] = CONTROL_OUT_SP | CONTROL_RRI;
this.Microcode[12] = CONTROL_OUT_RO | CONTROL_RHI;
}
}
is_STAL_in24 = new IS_STAL_ind24;
Instructions.push(is_STAL_in24);
class IS_STAH_ind24 extends Microcode_Instruction {
constructor(props) {
super(props);
this.Bytecode = 0x1C3;
this.Mnemonic = "STAH";
this.LongName = "STORE Register A to 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 | CONTROL_PCC;
this.Microcode[8] = CONTROL_OUT_2O | CONTROL_RHI;
this.Microcode[9] = CONTROL_OUT_RO | CONTROL_RRI;
this.Microcode[10] = CONTROL_OUT_AH | CONTROL_RI;
this.Microcode[11] = CONTROL_OUT_SP | CONTROL_RRI;
this.Microcode[12] = CONTROL_OUT_RO | CONTROL_RHI;
}
}
is_STAH_in24 = new IS_STAH_ind24;
Instructions.push(is_STAH_in24);
class IS_STBL_ind24 extends Microcode_Instruction {
constructor(props) {
super(props);
this.Bytecode = 0x1C4;
this.Mnemonic = "STBL";
this.LongName = "STORE Register B to 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 | CONTROL_PCC;
this.Microcode[8] = CONTROL_OUT_2O | CONTROL_RHI;
this.Microcode[9] = CONTROL_OUT_RO | CONTROL_RRI;
this.Microcode[10] = CONTROL_OUT_BL | CONTROL_RI;
this.Microcode[11] = CONTROL_OUT_SP | CONTROL_RRI;
this.Microcode[12] = CONTROL_OUT_RO | CONTROL_RHI;
}
}
is_STBL_in24 = new IS_STBL_ind24;
Instructions.push(is_STBL_in24);
class IS_STBH_ind24 extends Microcode_Instruction {
constructor(props) {
super(props);
this.Bytecode = 0x1C5;
this.Mnemonic = "STBH";
this.LongName = "STORE Register B to 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 | CONTROL_PCC;
this.Microcode[8] = CONTROL_OUT_2O | CONTROL_RHI;
this.Microcode[9] = CONTROL_OUT_RO | CONTROL_RRI;
this.Microcode[10] = CONTROL_OUT_BH | CONTROL_RI;
this.Microcode[11] = CONTROL_OUT_SP | CONTROL_RRI;
this.Microcode[12] = CONTROL_OUT_RO | CONTROL_RHI;
}
}
is_STBH_in24 = new IS_STBH_ind24;
Instructions.push(is_STBH_in24);
class IS_STCL_ind24 extends Microcode_Instruction {
constructor(props) {
super(props);
this.Bytecode = 0x1C6;
this.Mnemonic = "STCL";
this.LongName = "STORE Register C to 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 | CONTROL_PCC;
this.Microcode[8] = CONTROL_OUT_2O | CONTROL_RHI;
this.Microcode[9] = CONTROL_OUT_RO | CONTROL_RRI;
this.Microcode[10] = CONTROL_OUT_CL | CONTROL_RI;
this.Microcode[11] = CONTROL_OUT_SP | CONTROL_RRI;
this.Microcode[12] = CONTROL_OUT_RO | CONTROL_RHI;
}
}
is_STCL_in24 = new IS_STCL_ind24;
Instructions.push(is_STCL_in24);
class IS_STCH_ind24 extends Microcode_Instruction {
constructor(props) {
super(props);
this.Bytecode = 0x1C7;
this.Mnemonic = "STCH";
this.LongName = "STORE Register C to 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 | CONTROL_PCC;
this.Microcode[8] = CONTROL_OUT_2O | CONTROL_RHI;
this.Microcode[9] = CONTROL_OUT_RO | CONTROL_RRI;
this.Microcode[10] = CONTROL_OUT_CH | CONTROL_RI;
this.Microcode[11] = CONTROL_OUT_SP | CONTROL_RRI;
this.Microcode[12] = CONTROL_OUT_RO | CONTROL_RHI;
}
}
is_STCH_in24 = new IS_STCH_ind24;
Instructions.push(is_STCH_in24);
class IS_STDL_ind24 extends Microcode_Instruction {
constructor(props) {
super(props);
this.Bytecode = 0x1C8;
this.Mnemonic = "STDL";
this.LongName = "STORE Register D to 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 | CONTROL_PCC;
this.Microcode[8] = CONTROL_OUT_2O | CONTROL_RHI;
this.Microcode[9] = CONTROL_OUT_RO | CONTROL_RRI;
this.Microcode[10] = CONTROL_OUT_DL | CONTROL_RI;
this.Microcode[11] = CONTROL_OUT_SP | CONTROL_RRI;
this.Microcode[12] = CONTROL_OUT_RO | CONTROL_RHI;
}
}
is_STDL_in24 = new IS_STDL_ind24;
Instructions.push(is_STDL_in24);
class IS_STDH_ind24 extends Microcode_Instruction {
constructor(props) {
super(props);
this.Bytecode = 0x1C9;
this.Mnemonic = "STDH";
this.LongName = "STORE Register D to 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 | CONTROL_PCC;
this.Microcode[8] = CONTROL_OUT_2O | CONTROL_RHI;
this.Microcode[9] = CONTROL_OUT_RO | CONTROL_RRI;
this.Microcode[10] = CONTROL_OUT_DH | CONTROL_RI;
this.Microcode[11] = CONTROL_OUT_SP | CONTROL_RRI;
this.Microcode[12] = CONTROL_OUT_RO | CONTROL_RHI;
}
}
is_STDH_in24 = new IS_STDH_ind24;
Instructions.push(is_STDH_in24);
class IS_STAB_ind24 extends Microcode_Instruction {
constructor(props) {
super(props);
this.Bytecode = 0x1CA;
this.Mnemonic = "STAB";
this.LongName = "STORE 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 | CONTROL_PCC;
this.Microcode[8] = CONTROL_OUT_2O | CONTROL_RHI;
this.Microcode[9] = CONTROL_OUT_RO | CONTROL_RRI;
this.Microcode[10] = CONTROL_OUT_AB | CONTROL_RI;
this.Microcode[11] = CONTROL_OUT_SP | CONTROL_RRI;
this.Microcode[12] = CONTROL_OUT_RO | CONTROL_RHI;
}
}
is_STAB_in24 = new IS_STAB_ind24;
Instructions.push(is_STAB_in24);
class IS_STAC_ind24 extends Microcode_Instruction {
constructor(props) {
super(props);
this.Bytecode = 0x1CB;
this.Mnemonic = "STAC";
this.LongName = "STORE 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 | CONTROL_PCC;
this.Microcode[8] = CONTROL_OUT_2O | CONTROL_RHI;
this.Microcode[9] = CONTROL_OUT_RO | CONTROL_RRI;
this.Microcode[10] = CONTROL_OUT_AC | CONTROL_RI;
this.Microcode[11] = CONTROL_OUT_SP | CONTROL_RRI;
this.Microcode[12] = CONTROL_OUT_RO | CONTROL_RHI;
}
}
is_STAC_in24 = new IS_STAC_ind24;
Instructions.push(is_STAC_in24);
class IS_STAD_ind24 extends Microcode_Instruction {
constructor(props) {
super(props);
this.Bytecode = 0x1CC;
this.Mnemonic = "STAD";
this.LongName = "STORE 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 | CONTROL_PCC;
this.Microcode[8] = CONTROL_OUT_2O | CONTROL_RHI;
this.Microcode[9] = CONTROL_OUT_RO | CONTROL_RRI;
this.Microcode[10] = CONTROL_OUT_AD | CONTROL_RI;
this.Microcode[11] = CONTROL_OUT_SP | CONTROL_RRI;
this.Microcode[12] = CONTROL_OUT_RO | CONTROL_RHI;
}
}
is_STAD_in24 = new IS_STAD_ind24;
Instructions.push(is_STAD_in24);
class IS_STBA_ind24 extends Microcode_Instruction {
constructor(props) {
super(props);
this.Bytecode = 0x1CD;
this.Mnemonic = "STBA";
this.LongName = "STORE 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 | CONTROL_PCC;
this.Microcode[8] = CONTROL_OUT_2O | CONTROL_RHI;
this.Microcode[9] = CONTROL_OUT_RO | CONTROL_RRI;
this.Microcode[10] = CONTROL_OUT_BA | CONTROL_RI;
this.Microcode[11] = CONTROL_OUT_SP | CONTROL_RRI;
this.Microcode[12] = CONTROL_OUT_RO | CONTROL_RHI;
}
}
is_STBA_in24 = new IS_STBA_ind24;
Instructions.push(is_STBA_in24);
class IS_STBC_ind24 extends Microcode_Instruction {
constructor(props) {
super(props);
this.Bytecode = 0x1CE;
this.Mnemonic = "STBC";
this.LongName = "STORE 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 | CONTROL_PCC;
this.Microcode[8] = CONTROL_OUT_2O | CONTROL_RHI;
this.Microcode[9] = CONTROL_OUT_RO | CONTROL_RRI;
this.Microcode[10] = CONTROL_OUT_BC | CONTROL_RI;
this.Microcode[11] = CONTROL_OUT_SP | CONTROL_RRI;
this.Microcode[12] = CONTROL_OUT_RO | CONTROL_RHI;
}
}
is_STBC_in24 = new IS_STBC_ind24;
Instructions.push(is_STBC_in24);
class IS_STBD_ind24 extends Microcode_Instruction {
constructor(props) {
super(props);
this.Bytecode = 0x1CF;
this.Mnemonic = "STBD";
this.LongName = "STORE 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 | CONTROL_PCC;
this.Microcode[8] = CONTROL_OUT_2O | CONTROL_RHI;
this.Microcode[9] = CONTROL_OUT_RO | CONTROL_RRI;
this.Microcode[10] = CONTROL_OUT_BD | CONTROL_RI;
this.Microcode[11] = CONTROL_OUT_SP | CONTROL_RRI;
this.Microcode[12] = CONTROL_OUT_RO | CONTROL_RHI;
}
}
is_STBD_in24 = new IS_STBD_ind24;
Instructions.push(is_STBD_in24);
class IS_STCA_ind24 extends Microcode_Instruction {
constructor(props) {
super(props);
this.Bytecode = 0x1D0;
this.Mnemonic = "STCA";
this.LongName = "STORE 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 | CONTROL_PCC;
this.Microcode[8] = CONTROL_OUT_2O | CONTROL_RHI;
this.Microcode[9] = CONTROL_OUT_RO | CONTROL_RRI;
this.Microcode[10] = CONTROL_OUT_CA | CONTROL_RI;
this.Microcode[11] = CONTROL_OUT_SP | CONTROL_RRI;
this.Microcode[12] = CONTROL_OUT_RO | CONTROL_RHI;
}
}
is_STCA_in24 = new IS_STCA_ind24;
Instructions.push(is_STCA_in24);
class IS_STCB_ind24 extends Microcode_Instruction {
constructor(props) {
super(props);
this.Bytecode = 0x1D1;
this.Mnemonic = "STCB";
this.LongName = "STORE 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 | CONTROL_PCC;
this.Microcode[8] = CONTROL_OUT_2O | CONTROL_RHI;
this.Microcode[9] = CONTROL_OUT_RO | CONTROL_RRI;
this.Microcode[10] = CONTROL_OUT_CB | CONTROL_RI;
this.Microcode[11] = CONTROL_OUT_SP | CONTROL_RRI;
this.Microcode[12] = CONTROL_OUT_RO | CONTROL_RHI;
}
}
is_STCB_in24 = new IS_STCB_ind24;
Instructions.push(is_STCB_in24);
class IS_STCD_ind24 extends Microcode_Instruction {
constructor(props) {
super(props);
this.Bytecode = 0x1D2;
this.Mnemonic = "STCD";
this.LongName = "STORE 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 | CONTROL_PCC;
this.Microcode[8] = CONTROL_OUT_2O | CONTROL_RHI;
this.Microcode[9] = CONTROL_OUT_RO | CONTROL_RRI;
this.Microcode[10] = CONTROL_OUT_CD | CONTROL_RI;
this.Microcode[11] = CONTROL_OUT_SP | CONTROL_RRI;
this.Microcode[12] = CONTROL_OUT_RO | CONTROL_RHI;
}
}
is_STCD_in24 = new IS_STCD_ind24;
Instructions.push(is_STCD_in24);
class IS_STDA_ind24 extends Microcode_Instruction {
constructor(props) {
super(props);
this.Bytecode = 0x1D3;
this.Mnemonic = "STDA";
this.LongName = "STORE 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 | CONTROL_PCC;
this.Microcode[8] = CONTROL_OUT_2O | CONTROL_RHI;
this.Microcode[9] = CONTROL_OUT_RO | CONTROL_RRI;
this.Microcode[10] = CONTROL_OUT_DA | CONTROL_RI;
this.Microcode[11] = CONTROL_OUT_SP | CONTROL_RRI;
this.Microcode[12] = CONTROL_OUT_RO | CONTROL_RHI;
}
}
is_STDA_in24 = new IS_STDA_ind24;
Instructions.push(is_STDA_in24);
class IS_STDB_ind24 extends Microcode_Instruction {
constructor(props) {
super(props);
this.Bytecode = 0x1D4;
this.Mnemonic = "STDB";
this.LongName = "STORE 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 | CONTROL_PCC;
this.Microcode[8] = CONTROL_OUT_2O | CONTROL_RHI;
this.Microcode[9] = CONTROL_OUT_RO | CONTROL_RRI;
this.Microcode[10] = CONTROL_OUT_DB | CONTROL_RI;
this.Microcode[11] = CONTROL_OUT_SP | CONTROL_RRI;
this.Microcode[12] = CONTROL_OUT_RO | CONTROL_RHI;
}
}
is_STDB_in24 = new IS_STDB_ind24;
Instructions.push(is_STDB_in24);
class IS_STDC_ind24 extends Microcode_Instruction {
constructor(props) {
super(props);
this.Bytecode = 0x1D5;
this.Mnemonic = "STDC";
this.LongName = "STORE 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 | CONTROL_PCC;
this.Microcode[8] = CONTROL_OUT_2O | CONTROL_RHI;
this.Microcode[9] = CONTROL_OUT_RO | CONTROL_RRI;
this.Microcode[10] = CONTROL_OUT_DC | CONTROL_RI;
this.Microcode[11] = CONTROL_OUT_SP | CONTROL_RRI;
this.Microcode[12] = CONTROL_OUT_RO | CONTROL_RHI;
}
}
is_STDC_in24 = new IS_STDC_ind24;
Instructions.push(is_STDC_in24);
class IS_STAB_SPind24 extends Microcode_Instruction {
constructor(props) {
super(props);
this.Bytecode = 0x1D6;
this.Mnemonic = "STAB";
this.LongName = "STORE Registers A and B";
this.Aliases = new Array();
this.Type = InstructionTypes.Indirect24;
this.Operands = new Array({Operand: "[SP]", Bitwidth: 24});
this.Words = 1;
this.Cycles = 13;
this.Microcode[2] = CONTROL_OUT_SP | CONTROL_RRI;
this.Microcode[3] = CONTROL_OUT_HO | CONTROL_RI | CONTROL_SPC;
this.Microcode[4] = CONTROL_OUT_SP | CONTROL_RRI;
this.Microcode[5] = CONTROL_OUT_I2 | CONTROL_SPC;
this.Microcode[6] = CONTROL_OUT_SP | CONTROL_RRI;
this.Microcode[7] = CONTROL_OUT_RO | CONTROL_RHI | CONTROL_SPD | CONTROL_SPC;
this.Microcode[8] = CONTROL_OUT_2O | CONTROL_RRI | CONTROL_SPD | CONTROL_SPC;
this.Microcode[9] = CONTROL_OUT_RO | CONTROL_RRI;
this.Microcode[10] = CONTROL_OUT_AB | CONTROL_RI;
this.Microcode[11] = CONTROL_OUT_SP | CONTROL_RRI;
this.Microcode[12] = CONTROL_OUT_RO | CONTROL_RHI;
}
}
is_STAB_spin24 = new IS_STAB_SPind24;
Instructions.push(is_STAB_spin24);
class IS_STCD_SPind24 extends Microcode_Instruction {
constructor(props) {
super(props);
this.Bytecode = 0x1D7;
this.Mnemonic = "STCD";
this.LongName = "STORE Registers C and D";
this.Aliases = new Array();
this.Type = InstructionTypes.Indirect24;
this.Operands = new Array({Operand: "[SP]", Bitwidth: 24});
this.Words = 1;
this.Cycles = 13;
this.Microcode[2] = CONTROL_OUT_SP | CONTROL_RRI;
this.Microcode[3] = CONTROL_OUT_HO | CONTROL_RI | CONTROL_SPC;
this.Microcode[4] = CONTROL_OUT_SP | CONTROL_RRI;
this.Microcode[5] = CONTROL_OUT_I2 | CONTROL_SPC;
this.Microcode[6] = CONTROL_OUT_SP | CONTROL_RRI;
this.Microcode[7] = CONTROL_OUT_RO | CONTROL_RHI | CONTROL_SPD | CONTROL_SPC;
this.Microcode[8] = CONTROL_OUT_2O | CONTROL_RRI | CONTROL_SPD | CONTROL_SPC;
this.Microcode[9] = CONTROL_OUT_RO | CONTROL_RRI;
this.Microcode[10] = CONTROL_OUT_CD | CONTROL_RI;
this.Microcode[11] = CONTROL_OUT_SP | CONTROL_RRI;
this.Microcode[12] = CONTROL_OUT_RO | CONTROL_RHI;
}
}
is_STCD_spin24 = new IS_STCD_SPind24;
Instructions.push(is_STCD_spin24);
class IS_STAL_SPind24 extends Microcode_Instruction {
constructor(props) {
super(props);
this.Bytecode = 0x1D8;
this.Mnemonic = "STAL";
this.LongName = "STORE Register A to LOW Byte";
this.Aliases = new Array();
this.Type = InstructionTypes.Indirect24;
this.Operands = new Array({Operand: "[SP]", Bitwidth: 24});
this.Words = 1;
this.Cycles = 13;
this.Microcode[2] = CONTROL_OUT_SP | CONTROL_RRI;
this.Microcode[3] = CONTROL_OUT_HO | CONTROL_RI | CONTROL_SPC;
this.Microcode[4] = CONTROL_OUT_SP | CONTROL_RRI;
this.Microcode[5] = CONTROL_OUT_I2 | CONTROL_SPC;
this.Microcode[6] = CONTROL_OUT_SP | CONTROL_RRI;
this.Microcode[7] = CONTROL_OUT_RO | CONTROL_RHI | CONTROL_SPD | CONTROL_SPC;
this.Microcode[8] = CONTROL_OUT_2O | CONTROL_RRI | CONTROL_SPD | CONTROL_SPC;
this.Microcode[9] = CONTROL_OUT_RO | CONTROL_RRI;
this.Microcode[10] = CONTROL_OUT_AL | CONTROL_RI;
this.Microcode[11] = CONTROL_OUT_SP | CONTROL_RRI;
this.Microcode[12] = CONTROL_OUT_RO | CONTROL_RHI;
}
}
is_STAL_spin24 = new IS_STAL_SPind24;
Instructions.push(is_STAL_spin24);
class IS_STAH_SPind24 extends Microcode_Instruction {
constructor(props) {
super(props);
this.Bytecode = 0x1D9;
this.Mnemonic = "STAH";
this.LongName = "STORE Register A to HIGH Byte";
this.Aliases = new Array();
this.Type = InstructionTypes.Indirect24;
this.Operands = new Array({Operand: "[SP]", Bitwidth: 24});
this.Words = 1;
this.Cycles = 13;
this.Microcode[2] = CONTROL_OUT_SP | CONTROL_RRI;
this.Microcode[3] = CONTROL_OUT_HO | CONTROL_RI | CONTROL_SPC;
this.Microcode[4] = CONTROL_OUT_SP | CONTROL_RRI;
this.Microcode[5] = CONTROL_OUT_I2 | CONTROL_SPC;
this.Microcode[6] = CONTROL_OUT_SP | CONTROL_RRI;
this.Microcode[7] = CONTROL_OUT_RO | CONTROL_RHI | CONTROL_SPD | CONTROL_SPC;
this.Microcode[8] = CONTROL_OUT_2O | CONTROL_RRI | CONTROL_SPD | CONTROL_SPC;
this.Microcode[9] = CONTROL_OUT_RO | CONTROL_RRI;
this.Microcode[10] = CONTROL_OUT_AH | CONTROL_RI;
this.Microcode[11] = CONTROL_OUT_SP | CONTROL_RRI;
this.Microcode[12] = CONTROL_OUT_RO | CONTROL_RHI;
}
}
is_STAH_spin24 = new IS_STAH_SPind24;
Instructions.push(is_STAH_spin24);
class IS_STBL_SPind24 extends Microcode_Instruction {
constructor(props) {
super(props);
this.Bytecode = 0x1DA;
this.Mnemonic = "STBL";
this.LongName = "STORE Register B to LOW Byte";
this.Aliases = new Array();
this.Type = InstructionTypes.Indirect24;
this.Operands = new Array({Operand: "[SP]", Bitwidth: 24});
this.Words = 1;
this.Cycles = 13;
this.Microcode[2] = CONTROL_OUT_SP | CONTROL_RRI;
this.Microcode[3] = CONTROL_OUT_HO | CONTROL_RI | CONTROL_SPC;
this.Microcode[4] = CONTROL_OUT_SP | CONTROL_RRI;
this.Microcode[5] = CONTROL_OUT_I2 | CONTROL_SPC;
this.Microcode[6] = CONTROL_OUT_SP | CONTROL_RRI;
this.Microcode[7] = CONTROL_OUT_RO | CONTROL_RHI | CONTROL_SPD | CONTROL_SPC;
this.Microcode[8] = CONTROL_OUT_2O | CONTROL_RRI | CONTROL_SPD | CONTROL_SPC;
this.Microcode[9] = CONTROL_OUT_RO | CONTROL_RRI;
this.Microcode[10] = CONTROL_OUT_BL | CONTROL_RI;
this.Microcode[11] = CONTROL_OUT_SP | CONTROL_RRI;
this.Microcode[12] = CONTROL_OUT_RO | CONTROL_RHI;
}
}
is_STBL_spin24 = new IS_STBL_SPind24;
Instructions.push(is_STBL_spin24);
class IS_STBH_SPind24 extends Microcode_Instruction {
constructor(props) {
super(props);
this.Bytecode = 0x1DB;
this.Mnemonic = "STBH";
this.LongName = "STORE Register B to HIGH Byte";
this.Aliases = new Array();
this.Type = InstructionTypes.Indirect24;
this.Operands = new Array({Operand: "[SP]", Bitwidth: 24});
this.Words = 1;
this.Cycles = 13;
this.Microcode[2] = CONTROL_OUT_SP | CONTROL_RRI;
this.Microcode[3] = CONTROL_OUT_HO | CONTROL_RI | CONTROL_SPC;
this.Microcode[4] = CONTROL_OUT_SP | CONTROL_RRI;
this.Microcode[5] = CONTROL_OUT_I2 | CONTROL_SPC;
this.Microcode[6] = CONTROL_OUT_SP | CONTROL_RRI;
this.Microcode[7] = CONTROL_OUT_RO | CONTROL_RHI | CONTROL_SPD | CONTROL_SPC;
this.Microcode[8] = CONTROL_OUT_2O | CONTROL_RRI | CONTROL_SPD | CONTROL_SPC;
this.Microcode[9] = CONTROL_OUT_RO | CONTROL_RRI;
this.Microcode[10] = CONTROL_OUT_BH | CONTROL_RI;
this.Microcode[11] = CONTROL_OUT_SP | CONTROL_RRI;
this.Microcode[12] = CONTROL_OUT_RO | CONTROL_RHI;
}
}
is_STBH_spin24 = new IS_STBH_SPind24;
Instructions.push(is_STBH_spin24);