internal static Cpu.Status NEGF(Script vm) { var srx = new SRX(vm, is_jump: false); float f0 = Float32.FromInt(vm.cpu.registers[srx.dst]); vm.cpu.registers[srx.dst] = Float32.ToInt(-f0); return(Cpu.Status.OK); }
internal static Cpu.Status SUBF(Script vm) { var lrx = new LRX(vm); float f0 = Float32.FromInt(vm.cpu.registers[lrx.dst]); float f1 = Float32.FromInt(vm.cpu.registers[lrx.src]); vm.cpu.registers[lrx.dst] = Float32.ToInt(f0 - f1); return(Cpu.Status.OK); }
internal static Cpu.Status CVTWF(Script vm) { var srx = new SRX(vm, is_jump: false); // Convert word to floating point float value = (float)vm.cpu.registers[srx.dst]; // Store floating point representation in int value vm.cpu.registers[srx.dst] = Float32.ToInt(value); return(Cpu.Status.OK); }
public Value(float v, Script vm = null) { value = Float32.ToInt(v); is_void = false; parent = vm; }