2019-08-12 12:16:15 +02:00
|
|
|
module Mom
|
|
|
|
module Builtin
|
|
|
|
class Putstring < ::Mom::Instruction
|
|
|
|
def to_risc(compiler)
|
|
|
|
builder = compiler.builder(compiler.source)
|
|
|
|
builder.prepare_int_return # makes integer_tmp variable as return
|
|
|
|
builder.build do
|
|
|
|
word! << message[:receiver]
|
|
|
|
integer! << word[Parfait::Word.get_length_index]
|
|
|
|
end
|
|
|
|
Mom::Builtin.emit_syscall( builder , :putstring )
|
|
|
|
compiler
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
2019-09-11 19:17:43 +02:00
|
|
|
class Putstring < Macro
|
2019-09-11 17:53:20 +02:00
|
|
|
def to_risc(compiler)
|
|
|
|
builder = compiler.builder(compiler.source)
|
|
|
|
builder.prepare_int_return # makes integer_tmp variable as return
|
|
|
|
builder.build do
|
|
|
|
word! << message[:receiver]
|
|
|
|
integer! << word[Parfait::Word.get_length_index]
|
|
|
|
end
|
|
|
|
Mom::Builtin.emit_syscall( builder , :putstring )
|
|
|
|
compiler
|
|
|
|
end
|
|
|
|
end
|
2019-08-12 12:16:15 +02:00
|
|
|
end
|