2019-08-12 12:16:15 +02:00
|
|
|
module Mom
|
|
|
|
module Builtin
|
|
|
|
class GetInternalWord < ::Mom::Instruction
|
|
|
|
def to_risc(compiler)
|
|
|
|
compiler.builder(compiler.source).build do
|
|
|
|
object! << message[:receiver]
|
2019-08-22 16:54:17 +02:00
|
|
|
integer! << message[:arg1] #"at" is at index 0
|
2019-08-12 12:16:15 +02:00
|
|
|
integer.reduce_int
|
|
|
|
object << object[integer]
|
|
|
|
message[:return_value] << object
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
2019-09-10 19:40:41 +02:00
|
|
|
class GetInternalWord < Instruction
|
|
|
|
def to_risc(compiler)
|
|
|
|
compiler.builder(compiler.source).build do
|
|
|
|
object! << message[:receiver]
|
|
|
|
integer! << message[:arg1] #"at" is at index 0
|
|
|
|
integer.reduce_int
|
|
|
|
object << object[integer]
|
|
|
|
message[:return_value] << object
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
2019-08-12 12:16:15 +02:00
|
|
|
end
|