2019-10-03 21:07:55 +03:00
|
|
|
module SlotMachine
|
2019-09-11 20:17:43 +03:00
|
|
|
class GetInternalByte < Macro
|
2019-09-11 18:53:20 +03:00
|
|
|
def to_risc(compiler)
|
|
|
|
builder = compiler.builder(compiler.source)
|
|
|
|
integer_tmp = builder.allocate_int
|
|
|
|
builder.build do
|
2020-03-15 17:58:56 +02:00
|
|
|
integer_1 = register(:integer_1)
|
2020-03-09 12:47:12 +02:00
|
|
|
object = message[:receiver].to_reg
|
2020-03-11 22:54:20 +02:00
|
|
|
integer = message[:arg1].reduce_int(false)
|
2020-03-15 17:58:56 +02:00
|
|
|
integer_1 <= object[integer]
|
|
|
|
integer_tmp[Parfait::Integer.integer_index] << integer_1
|
2019-09-11 18:53:20 +03:00
|
|
|
message[:return_value] << integer_tmp
|
|
|
|
end
|
|
|
|
return compiler
|
|
|
|
end
|
|
|
|
end
|
2019-08-12 13:16:15 +03:00
|
|
|
end
|