rubyx/lib/mom/instruction/jump.rb

21 lines
402 B
Ruby
Raw Normal View History

2017-08-30 16:21:13 +02:00
module Mom
# Branch jump to the Label given
# Eg used at the end of while or end of if_true branch
#
# Risc equivalent is the same really, called Branch there.
2018-03-14 15:55:21 +01:00
#
2017-08-30 16:21:13 +02:00
class Jump < Instruction
2018-03-21 07:22:53 +01:00
attr_reader :label
2017-08-30 16:21:13 +02:00
2018-03-21 07:22:53 +01:00
def initialize(label)
@label = label
2017-08-30 16:21:13 +02:00
end
def to_risc(compiler)
compiler.add_code Risc::Branch.new(self , @label.risc_label(compiler))
2018-03-14 15:55:21 +01:00
end
2017-08-30 16:21:13 +02:00
end
end