8SA1Sim/js/isa/plx.js

120 lines
3.7 KiB
JavaScript

class IS_PLA extends Microcode_Instruction {
constructor(props) {
super(props);
this.Bytecode = 0x2A0;
this.Mnemonic = "PLA";
this.LongName = "PULL Stack and place in Register A (Low BYTE)";
this.Aliases = new Array();
this.Type = InstructionTypes.Register;
this.Operands = new Array();
this.Words = 1;
this.Cycles = 5;
this.Microcode[2] = CONTROL_SPC;
this.Microcode[3] = CONTROL_OUT_SP | CONTROL_RRI;
this.Microcode[4] = CONTROL_OUT_RO | CONTROL_RAIL;
}
}
is_PLA = new IS_PLA;
Instructions.push(is_PLA);
class IS_PLB extends Microcode_Instruction {
constructor(props) {
super(props);
this.Bytecode = 0x2A1;
this.Mnemonic = "PLB";
this.LongName = "PULL Stack and place in Register B (Low BYTE)";
this.Aliases = new Array();
this.Type = InstructionTypes.Register;
this.Words = 1;
this.Cycles = 5;
this.Operands = new Array();
this.Microcode[2] = CONTROL_SPC;
this.Microcode[3] = CONTROL_OUT_SP | CONTROL_RRI;
this.Microcode[4] = CONTROL_OUT_RO | CONTROL_RBIL;
}
}
is_PLB = new IS_PLB;
Instructions.push(is_PLB);
class IS_PLC extends Microcode_Instruction {
constructor(props) {
super(props);
this.Bytecode = 0x2A2;
this.Mnemonic = "PLC";
this.LongName = "PULL Stack and place in Register C (Low BYTE)";
this.Aliases = new Array();
this.Type = InstructionTypes.Register;
this.Operands = new Array();
this.Words = 1;
this.Cycles = 5;
this.Microcode[2] = CONTROL_SPC;
this.Microcode[3] = CONTROL_OUT_SP | CONTROL_RRI;
this.Microcode[4] = CONTROL_OUT_RO | CONTROL_RCIL;
}
}
is_PLC = new IS_PLC;
Instructions.push(is_PLC);
class IS_PLD extends Microcode_Instruction {
constructor(props) {
super(props);
this.Bytecode = 0x2A3;
this.Mnemonic = "PLD";
this.LongName = "PULL Stack and place in Register D (Low BYTE)";
this.Aliases = new Array();
this.Type = InstructionTypes.Register;
this.Operands = new Array();
this.Words = 1;
this.Cycles = 5;
this.Microcode[2] = CONTROL_SPC;
this.Microcode[3] = CONTROL_OUT_SP | CONTROL_RRI;
this.Microcode[4] = CONTROL_OUT_RO | CONTROL_RDIL;
}
}
is_PLD = new IS_PLD;
Instructions.push(is_PLD);
class IS_PLAB extends Microcode_Instruction {
constructor(props) {
super(props);
this.Bytecode = 0x2A4;
this.Mnemonic = "PLAB";
this.LongName = "PULL Stack and place in Register A and B";
this.Aliases = new Array();
this.Type = InstructionTypes.Register;
this.Operands = new Array();
this.Words = 1;
this.Cycles = 5;
this.Microcode[2] = CONTROL_SPC;
this.Microcode[3] = CONTROL_OUT_SP | CONTROL_RRI;
this.Microcode[4] = CONTROL_OUT_RO | CONTROL_RAIL | CONTROL_RBIH;
}
}
is_PLAB = new IS_PLAB;
Instructions.push(is_PLAB);
class IS_PLCD extends Microcode_Instruction {
constructor(props) {
super(props);
this.Bytecode = 0x2AC;
this.Mnemonic = "PLCD";
this.LongName = "PULL Stack and place in Register C and D";
this.Aliases = new Array();
this.Type = InstructionTypes.Register;
this.Operands = new Array();
this.Words = 1;
this.Cycles = 5;
this.Microcode[2] = CONTROL_SPC;
this.Microcode[3] = CONTROL_OUT_SP | CONTROL_RRI;
this.Microcode[4] = CONTROL_OUT_RO | CONTROL_RCIL | CONTROL_RDIH;
}
}
is_PLCD = new IS_PLCD;
Instructions.push(is_PLCD);