8SA1Sim/js/isa/phx.js

114 lines
3.5 KiB
JavaScript

class IS_PHA extends Microcode_Instruction {
constructor(props) {
super(props);
this.Bytecode = 0x280;
this.Mnemonic = "PHA";
this.LongName = "PUSH Register A to the STACK";
this.Aliases = new Array();
this.Type = InstructionTypes.Register;
this.Operands = new Array();
this.Words = 1;
this.Cycles = 4;
this.Microcode[2] = CONTROL_OUT_SP | CONTROL_RRI;
this.Microcode[3] = CONTROL_OUT_AL | CONTROL_RI | CONTROL_SPD | CONTROL_SPC;
}
}
is_PHA = new IS_PHA;
Instructions.push(is_PHA);
class IS_PHB extends Microcode_Instruction {
constructor(props) {
super(props);
this.Bytecode = 0x281;
this.Mnemonic = "PHB";
this.LongName = "PUSH Register B to the STACK";
this.Aliases = new Array();
this.Type = InstructionTypes.Register;
this.Operands = new Array();
this.Words = 1;
this.Cycles = 4;
this.Microcode[2] = CONTROL_OUT_SP | CONTROL_RRI;
this.Microcode[3] = CONTROL_OUT_BL | CONTROL_RI | CONTROL_SPD | CONTROL_SPC;
}
}
is_PHB = new IS_PHB;
Instructions.push(is_PHB);
class IS_PHC extends Microcode_Instruction {
constructor(props) {
super(props);
this.Bytecode = 0x282;
this.Mnemonic = "PHC";
this.LongName = "PUSH Register C to the STACK";
this.Aliases = new Array();
this.Type = InstructionTypes.Register;
this.Operands = new Array();
this.Words = 1;
this.Cycles = 4;
this.Microcode[2] = CONTROL_OUT_SP | CONTROL_RRI;
this.Microcode[3] = CONTROL_OUT_CL | CONTROL_RI | CONTROL_SPD | CONTROL_SPC;
}
}
is_PHC = new IS_PHC;
Instructions.push(is_PHC);
class IS_PHD extends Microcode_Instruction {
constructor(props) {
super(props);
this.Bytecode = 0x283;
this.Mnemonic = "PHD";
this.LongName = "PUSH Register D to the STACK";
this.Aliases = new Array();
this.Type = InstructionTypes.Register;
this.Operands = new Array();
this.Words = 1;
this.Cycles = 4;
this.Microcode[2] = CONTROL_OUT_SP | CONTROL_RRI;
this.Microcode[3] = CONTROL_OUT_DL | CONTROL_RI | CONTROL_SPD | CONTROL_SPC;
}
}
is_PHD = new IS_PHD;
Instructions.push(is_PHD);
class IS_PHAB extends Microcode_Instruction {
constructor(props) {
super(props);
this.Bytecode = 0x284;
this.Mnemonic = "PHAB";
this.LongName = "PUSH Register A and B to the STACK";
this.Aliases = new Array();
this.Type = InstructionTypes.Register;
this.Operands = new Array();
this.Words = 1;
this.Cycles = 4;
this.Microcode[2] = CONTROL_OUT_SP | CONTROL_RRI;
this.Microcode[3] = CONTROL_OUT_AB | CONTROL_RI | CONTROL_SPD | CONTROL_SPC;
}
}
is_PHAB = new IS_PHAB;
Instructions.push(is_PHAB);
class IS_PHCD extends Microcode_Instruction {
constructor(props) {
super(props);
this.Bytecode = 0x28C;
this.Mnemonic = "PHCD";
this.LongName = "PUSH Register C and D to the STACK";
this.Aliases = new Array();
this.Type = InstructionTypes.Register;
this.Operands = new Array();
this.Words = 1;
this.Cycles = 4;
this.Microcode[2] = CONTROL_OUT_SP | CONTROL_RRI;
this.Microcode[3] = CONTROL_OUT_CD | CONTROL_RI | CONTROL_SPD | CONTROL_SPC;
}
}
is_PHCD = new IS_PHCD;
Instructions.push(is_PHCD);