2019-08-12 12:16:15 +02:00
|
|
|
module Mom
|
|
|
|
module Builtin
|
|
|
|
class SetInternalByte < ::Mom::Instruction
|
|
|
|
def to_risc(compiler)
|
|
|
|
compiler.builder(compiler.source).build do
|
|
|
|
word! << message[:receiver]
|
2019-08-22 16:54:17 +02:00
|
|
|
integer_reg! << message[:arg2] #VALUE
|
2019-08-12 12:16:15 +02:00
|
|
|
message[:return_value] << integer_reg
|
2019-09-11 17:53:20 +02:00
|
|
|
integer! << message[:arg1] #"index"
|
2019-08-12 12:16:15 +02:00
|
|
|
integer.reduce_int
|
|
|
|
integer_reg.reduce_int
|
|
|
|
word[integer] <= integer_reg
|
|
|
|
end
|
|
|
|
return compiler
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
2019-09-11 17:53:20 +02:00
|
|
|
class SetInternalByte < ::Mom::Instruction
|
|
|
|
def to_risc(compiler)
|
|
|
|
compiler.builder(compiler.source).build do
|
|
|
|
word! << message[:receiver]
|
|
|
|
integer_reg! << message[:arg2] #VALUE
|
|
|
|
message[:return_value] << integer_reg
|
|
|
|
integer! << message[:arg1] #"index"
|
|
|
|
integer.reduce_int
|
|
|
|
integer_reg.reduce_int
|
|
|
|
word[integer] <= integer_reg
|
|
|
|
end
|
|
|
|
return compiler
|
|
|
|
end
|
|
|
|
end
|
2019-08-12 12:16:15 +02:00
|
|
|
end
|