Make private
This commit is contained in:
74
ophandler.go
74
ophandler.go
@@ -34,7 +34,7 @@ func (state *State) NoOp(instr *Instruction) {
|
||||
}
|
||||
|
||||
func (state *State) Call(instr *Instruction) {
|
||||
in := state.ReadSigned(&instr.Operand1)
|
||||
in := state.readSigned(&instr.Operand1)
|
||||
state.call(in)
|
||||
}
|
||||
|
||||
@@ -43,96 +43,96 @@ func (state *State) Return(instr *Instruction) {
|
||||
}
|
||||
|
||||
func (state *State) Move(instr *Instruction) {
|
||||
in := state.ReadUnsigned(&instr.Operand2)
|
||||
state.WriteUnsigned(&instr.Operand1, in)
|
||||
in := state.readUnsigned(&instr.Operand2)
|
||||
state.writeUnsigned(&instr.Operand1, in)
|
||||
}
|
||||
|
||||
func (state *State) Add(instr *Instruction) {
|
||||
in1 := state.ReadUnsigned(&instr.Operand1)
|
||||
in2 := state.ReadUnsigned(&instr.Operand2)
|
||||
state.WriteUnsigned(&instr.Operand1, in1+in2)
|
||||
in1 := state.readUnsigned(&instr.Operand1)
|
||||
in2 := state.readUnsigned(&instr.Operand2)
|
||||
state.writeUnsigned(&instr.Operand1, in1+in2)
|
||||
}
|
||||
|
||||
func (state *State) Subtract(instr *Instruction) {
|
||||
in1 := state.ReadUnsigned(&instr.Operand1)
|
||||
in2 := state.ReadUnsigned(&instr.Operand2)
|
||||
state.WriteUnsigned(&instr.Operand1, in1-in2)
|
||||
in1 := state.readUnsigned(&instr.Operand1)
|
||||
in2 := state.readUnsigned(&instr.Operand2)
|
||||
state.writeUnsigned(&instr.Operand1, in1-in2)
|
||||
}
|
||||
|
||||
func (state *State) Multiply(instr *Instruction) {
|
||||
in1 := state.ReadUnsigned(&instr.Operand1)
|
||||
in2 := state.ReadUnsigned(&instr.Operand2)
|
||||
state.WriteUnsigned(&instr.Operand1, in1*in2)
|
||||
in1 := state.readUnsigned(&instr.Operand1)
|
||||
in2 := state.readUnsigned(&instr.Operand2)
|
||||
state.writeUnsigned(&instr.Operand1, in1*in2)
|
||||
}
|
||||
|
||||
func (state *State) DivideUnsigned(instr *Instruction) {
|
||||
in1 := state.ReadUnsigned(&instr.Operand1)
|
||||
in2 := state.ReadUnsigned(&instr.Operand2)
|
||||
state.WriteUnsigned(&instr.Operand1, in1/in2)
|
||||
in1 := state.readUnsigned(&instr.Operand1)
|
||||
in2 := state.readUnsigned(&instr.Operand2)
|
||||
state.writeUnsigned(&instr.Operand1, in1/in2)
|
||||
}
|
||||
|
||||
func (state *State) DivideSigned(instr *Instruction) {
|
||||
in1 := state.ReadSigned(&instr.Operand1)
|
||||
in2 := state.ReadSigned(&instr.Operand2)
|
||||
state.WriteSigned(&instr.Operand1, in1/in2)
|
||||
in1 := state.readSigned(&instr.Operand1)
|
||||
in2 := state.readSigned(&instr.Operand2)
|
||||
state.writeSigned(&instr.Operand1, in1/in2)
|
||||
}
|
||||
|
||||
func (state *State) IsEqual(instr *Instruction) {
|
||||
in1 := state.ReadUnsigned(&instr.Operand1)
|
||||
in2 := state.ReadUnsigned(&instr.Operand2)
|
||||
in1 := state.readUnsigned(&instr.Operand1)
|
||||
in2 := state.readUnsigned(&instr.Operand2)
|
||||
state.comparisonResult = (in1 == in2)
|
||||
}
|
||||
|
||||
func (state *State) IsLessThanUnsigned(instr *Instruction) {
|
||||
in1 := state.ReadUnsigned(&instr.Operand1)
|
||||
in2 := state.ReadUnsigned(&instr.Operand2)
|
||||
in1 := state.readUnsigned(&instr.Operand1)
|
||||
in2 := state.readUnsigned(&instr.Operand2)
|
||||
state.comparisonResult = (in1 < in2)
|
||||
}
|
||||
|
||||
func (state *State) IsLessThanSigned(instr *Instruction) {
|
||||
in1 := state.ReadSigned(&instr.Operand1)
|
||||
in2 := state.ReadSigned(&instr.Operand2)
|
||||
in1 := state.readSigned(&instr.Operand1)
|
||||
in2 := state.readSigned(&instr.Operand2)
|
||||
state.comparisonResult = (in1 < in2)
|
||||
}
|
||||
|
||||
func (state *State) IsGreaterThanUnsigned(instr *Instruction) {
|
||||
in1 := state.ReadUnsigned(&instr.Operand1)
|
||||
in2 := state.ReadUnsigned(&instr.Operand2)
|
||||
in1 := state.readUnsigned(&instr.Operand1)
|
||||
in2 := state.readUnsigned(&instr.Operand2)
|
||||
state.comparisonResult = (in1 > in2)
|
||||
}
|
||||
|
||||
func (state *State) IsGreaterThanSigned(instr *Instruction) {
|
||||
in1 := state.ReadSigned(&instr.Operand1)
|
||||
in2 := state.ReadSigned(&instr.Operand2)
|
||||
in1 := state.readSigned(&instr.Operand1)
|
||||
in2 := state.readSigned(&instr.Operand2)
|
||||
state.comparisonResult = (in1 > in2)
|
||||
}
|
||||
|
||||
func (state *State) IsLessThanOrEqualUnsigned(instr *Instruction) {
|
||||
in1 := state.ReadUnsigned(&instr.Operand1)
|
||||
in2 := state.ReadUnsigned(&instr.Operand2)
|
||||
in1 := state.readUnsigned(&instr.Operand1)
|
||||
in2 := state.readUnsigned(&instr.Operand2)
|
||||
state.comparisonResult = (in1 <= in2)
|
||||
}
|
||||
|
||||
func (state *State) IsLessThanOrEqualSigned(instr *Instruction) {
|
||||
in1 := state.ReadSigned(&instr.Operand1)
|
||||
in2 := state.ReadSigned(&instr.Operand2)
|
||||
in1 := state.readSigned(&instr.Operand1)
|
||||
in2 := state.readSigned(&instr.Operand2)
|
||||
state.comparisonResult = (in1 <= in2)
|
||||
}
|
||||
|
||||
func (state *State) IsGreaterThanOrEqualUnsigned(instr *Instruction) {
|
||||
in1 := state.ReadUnsigned(&instr.Operand1)
|
||||
in2 := state.ReadUnsigned(&instr.Operand2)
|
||||
in1 := state.readUnsigned(&instr.Operand1)
|
||||
in2 := state.readUnsigned(&instr.Operand2)
|
||||
state.comparisonResult = (in1 >= in2)
|
||||
}
|
||||
|
||||
func (state *State) IsGreaterThanOrEqualSigned(instr *Instruction) {
|
||||
in1 := state.ReadSigned(&instr.Operand1)
|
||||
in2 := state.ReadSigned(&instr.Operand2)
|
||||
in1 := state.readSigned(&instr.Operand1)
|
||||
in2 := state.readSigned(&instr.Operand2)
|
||||
state.comparisonResult = (in1 >= in2)
|
||||
}
|
||||
|
||||
func (state *State) Jump(instr *Instruction) {
|
||||
in := state.ReadSigned(&instr.Operand1)
|
||||
in := state.readSigned(&instr.Operand1)
|
||||
state.instructionIndex += in - 1
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user