fix putstring registers
This commit is contained in:
@ -43,11 +43,11 @@ module SlotMachine
|
||||
# This instance is filled with os return value
|
||||
def self.restore_message(builder)
|
||||
r8 = Risc::RegisterValue.new( :saved_message , :Message).set_compiler(builder.compiler)
|
||||
tmp = Risc::RegisterValue.new( :integer_tmp , :Integer).set_compiler(builder.compiler)
|
||||
builder.build do
|
||||
integer_reg! << message
|
||||
tmp << message
|
||||
message << r8
|
||||
integer_2! << message[:return_value]
|
||||
integer_2[Parfait::Integer.integer_index] << integer_reg
|
||||
message[:return_value][Parfait::Integer.integer_index] << tmp
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@ -2,10 +2,10 @@ module SlotMachine
|
||||
class Putstring < Macro
|
||||
def to_risc(compiler)
|
||||
builder = compiler.builder(compiler.source)
|
||||
builder.prepare_int_return # makes integer_tmp variable as return
|
||||
integer = builder.prepare_int_return # makes integer_tmp variable as return
|
||||
builder.build do
|
||||
word! << message[:receiver]
|
||||
integer! << word[Parfait::Word.get_length_index]
|
||||
word = message[:receiver].to_reg.known_type(:Word)
|
||||
integer << word[:char_length]
|
||||
end
|
||||
SlotMachine::Macro.emit_syscall( builder , :putstring )
|
||||
compiler
|
||||
|
Reference in New Issue
Block a user