fix binary code offset when calling
in other words, remember the arm pipeline being 8
This commit is contained in:
parent
4b34546c11
commit
b81d9565de
@ -52,7 +52,7 @@ module Arm
|
||||
# But, for methods, this happens to be the size of the object header,
|
||||
# so there it balances out, but not blocks
|
||||
# have to use the code, not the method object for methods
|
||||
arg = Risc::Position.get(@first) - Risc::Position.get(self) + 4
|
||||
arg = Risc::Position.get(@first) - Risc::Position.get(self)
|
||||
else
|
||||
arg = @first
|
||||
end
|
||||
|
@ -22,7 +22,7 @@ module Arm
|
||||
Risc::Position.set(@binary , 0)
|
||||
code = @machine.call( bin ,{} )#this jumps to the next instruction
|
||||
Risc::Position.set(code , 0, @binary)
|
||||
assert_code code , :call, [0x09,0x0,0x0,0xeb]
|
||||
assert_code code , :call, [0x08,0x0,0x0,0xeb]
|
||||
end
|
||||
def test_swi
|
||||
code = @machine.swi( 0x05 )
|
||||
|
@ -12,7 +12,7 @@ class HelloTest < MiniTest::Test
|
||||
end
|
||||
|
||||
def test_string_put
|
||||
@input = "'Hello'.putstring"
|
||||
@input = "return 'Hello'.putstring"
|
||||
check
|
||||
end
|
||||
end
|
||||
|
Loading…
Reference in New Issue
Block a user