rubyx/test/code_generator.rb

28 lines
465 B
Ruby

if (__FILE__ == $0)
gen = Asm::ARMCodeGenerator.new
gen.instance_eval {
mov r0, 5
loop_start = label
loop_start.set!
subs r0, r0, 1
bne loop_start
bx lr
}
require 'objectwriter'
require 'tempfile'
writer = Asm::ObjectWriter.new(Elf::Constants::TARGET_ARM)
writer.set_text gen.assemble
begin
writer.save('arm_as_generated.o')
rescue => err
puts 'as: cannot save output file: ' + err.message
exit
end
end