getting instruction repositioning right
big bug hunt, involving complicated maths (%)
This commit is contained in:
@ -23,15 +23,15 @@ module Risc
|
||||
second = Arm::ArmMachine.b( @label)
|
||||
@label.set_next(second)
|
||||
Position.set( @label , 8 , @binary)
|
||||
Position.set(second , 2 , @binary)
|
||||
Position.set(second , 12 , @binary)
|
||||
Position.set( @label , 8 , @binary)
|
||||
assert_equal 8 , Position.get(@label.next).at
|
||||
end
|
||||
def test_label_at
|
||||
branch = Branch.new("b" , @label)
|
||||
Position.set(@label , 4 , @binary)
|
||||
Position.set(branch , 4 , @binary)
|
||||
at_4 = Position.at(4)
|
||||
Position.set(@label , 8 , @binary)
|
||||
Position.set(branch , 8 , @binary)
|
||||
at_4 = Position.at(8)
|
||||
assert_equal InstructionPosition , at_4.class
|
||||
assert_equal Branch , at_4.instruction.class
|
||||
end
|
||||
|
@ -29,10 +29,10 @@ module Risc
|
||||
assert_equal 0 , Position.get(@machine.cpu_init).at
|
||||
end
|
||||
def test_cpu_at
|
||||
assert_equal "0x5bd8" , Position.get(@machine.cpu_init.first).to_s
|
||||
assert_equal "0x5714" , Position.get(@machine.cpu_init.first).to_s
|
||||
end
|
||||
def test_cpu_bin
|
||||
assert_equal "0x5bcc" , Position.get(Position.get(@machine.cpu_init.first).binary).to_s
|
||||
assert_equal "0x570c" , Position.get(Position.get(@machine.cpu_init.first).binary).to_s
|
||||
end
|
||||
def test_cpu_label
|
||||
assert_equal Position::InstructionPosition , Position.get(@machine.cpu_init.first).class
|
||||
|
Reference in New Issue
Block a user