internal static Cpu.Status LEA(Script vm) { var irx = new IRX(vm); vm.cpu.registers[irx.dst] = irx.constant; return(Cpu.Status.OK); }
internal static Cpu.Status ADD(Script vm) { var irx = new IRX(vm); int dst = vm.cpu.registers[irx.dst]; vm.cpu.registers[irx.dst] += irx.constant; return(Cpu.Status.OK); }
internal static Cpu.Status STW(Script vm) { var irx = new IRX(vm); int value = vm.cpu.registers[Registers.EAX]; int address = vm.cpu.registers[irx.dst] + irx.constant; vm.WriteWord(value, address); return(Cpu.Status.OK); }
internal static Cpu.Status LDW(Script vm) { var irx = new IRX(vm); int address = vm.cpu.registers[irx.dst] + irx.constant; int value = vm.ReadWord(address); vm.cpu.registers[Registers.EAX] = value; return(Cpu.Status.OK); }