class Rubyfuu::Assembly32
Public Instance Methods
+()
click to toggle source
# File lib/rubyfuu/assembly32.rb, line 38 def + write 'incb (%edi)' end
-()
click to toggle source
# File lib/rubyfuu/assembly32.rb, line 42 def - write 'decb (%edi)' end
<()
click to toggle source
# File lib/rubyfuu/assembly32.rb, line 34 def < write 'dec %edi' end
>()
click to toggle source
# File lib/rubyfuu/assembly32.rb, line 30 def > write 'inc %edi' end
header()
click to toggle source
# File lib/rubyfuu/assembly32.rb, line 3 def header write <<EOF .lcomm buffer1, 10000 .globl _main _main: \tmov $buffer1, %edi EOF end
left_bracket()
click to toggle source
# File lib/rubyfuu/assembly32.rb, line 13 def left_bracket loop = @loop_counter+=1 @stack << loop write 'cmpb $0, (%edi)' write "jz .LE#{loop}" write ".LS#{loop}:", false end
right_bracket()
click to toggle source
# File lib/rubyfuu/assembly32.rb, line 22 def right_bracket loop = @stack.pop write 'cmpb $0, (%edi)' write "jnz .LS#{loop}" write ".LE#{loop}:", false end