2558 lines
96 KiB
JavaScript
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);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|