fix the putstring sys call indexing
index 0 is the marker word , so like in some, all indexes 1 based works :-)
This commit is contained in:
@ -128,9 +128,8 @@ module Arm
|
||||
end
|
||||
|
||||
def putstring int_code
|
||||
codes = ArmMachine.ldr( :r1 , Register.message_reg, 4 * Register.resolve_index(:message , :receiver) - 4)
|
||||
codes.append ArmMachine.ldr( :r2 , :r1 , 4 ) # String length
|
||||
codes.append ArmMachine.add( :r1 , :r1 , 8 ) # adjust for object header
|
||||
codes = ArmMachine.ldr( :r2 , :r1 , 8 ) # String length
|
||||
codes.append ArmMachine.add( :r1 , :r1 , 12 ) # adjust for object header
|
||||
codes.append ArmMachine.mov( :r0 , 1 ) # write to stdout == 1
|
||||
syscall(int_code , codes )
|
||||
end
|
||||
|
Reference in New Issue
Block a user