Start exercising grow code, breaking the VM
This commit is contained in:
@@ -73,13 +73,25 @@ func (state *State) handleMultiply(instr *Instruction) {
|
||||
func (state *State) handleDivideUnsigned(instr *Instruction) {
|
||||
in1 := state.readUnsigned(instr.Operands[0])
|
||||
in2 := state.readUnsigned(instr.Operands[1])
|
||||
state.writeUnsigned(instr.Operands[0], in1/in2)
|
||||
|
||||
if in2 == 0 {
|
||||
// Divide by zero just returns zero
|
||||
state.writeUnsigned(instr.Operands[0], 0)
|
||||
} else {
|
||||
state.writeUnsigned(instr.Operands[0], in1/in2)
|
||||
}
|
||||
}
|
||||
|
||||
func (state *State) handleDivideSigned(instr *Instruction) {
|
||||
in1 := state.readSigned(instr.Operands[0])
|
||||
in2 := state.readSigned(instr.Operands[1])
|
||||
state.writeSigned(instr.Operands[0], in1/in2)
|
||||
|
||||
if in2 == 0 {
|
||||
// Divide by zero just returns zero
|
||||
state.writeSigned(instr.Operands[0], 0)
|
||||
} else {
|
||||
state.writeSigned(instr.Operands[0], in1/in2)
|
||||
}
|
||||
}
|
||||
|
||||
func (state *State) handleNot(instr *Instruction) {
|
||||
|
||||
Reference in New Issue
Block a user