before: r0-message , r1-self , r2-frame , r3-new_message , r4 + tmps now: r0-message , r1-new_message , r2 + tmps programs got smaller, less fuss also fix in return implementation that got the address from the wrong message
16 lines
440 B
Ruby
16 lines
440 B
Ruby
module Register
|
|
module Builtin
|
|
module Word
|
|
module ClassMethods
|
|
def putstring context
|
|
function = Virtual::MethodSource.create_method(:Word,:Integer , :putstring , [] )
|
|
function.source.add_code Register.get_slot( function , :message , :receiver , :new_message )
|
|
Kernel.emit_syscall( function , :putstring )
|
|
function
|
|
end
|
|
end
|
|
extend ClassMethods
|
|
end
|
|
end
|
|
end
|