12 void Computer::executeST(
const InstructionWord& instruction, Register5* reg) {
13 int address = getIndexedAddress(instruction,
true);
14 copyFromRegister5(instruction, *reg, &
memory[address]);
18 void Computer::executeSTi(
const InstructionWord& instruction) {
19 int address = getIndexedAddress(instruction,
true);
20 int registerIndex = instruction.operation() - Instructions::ST1 + 1;
21 auto& rIi =
rI(registerIndex);
22 ComputerWord word(rIi.negative, 0, 0, 0, rIi[1], rIi[2]);
23 copyFromRegister5(instruction, word, &
memory[address]);
27 void Computer::executeSTJ(
const InstructionWord& instruction) {
28 int address = getIndexedAddress(instruction,
true);
29 ComputerWord word(
'+', 0, 0, 0,
rJ[1],
rJ[2]);
30 copyFromRegister5(instruction, word, &
memory[address]);
34 void Computer::executeSTZ(
const InstructionWord& instruction) {
35 int address = getIndexedAddress(instruction,
true);
36 ComputerWord word(
'+', 0, 0, 0, 0, 0);
37 copyFromRegister5(instruction, word, &
memory[address]);