@pos = 0
def push_eax
puts "push eax"
@pos += 4
end
def int i
puts "push $#{i}"
@pos += 4
end
def add a, b
puts "mov eax, [esp+#{@pos - a}]"
puts "add eax, [esp+#{@pos - b}]"
push_eax
end
def ret a
puts "mov eax, [esp+#{@pos - a}]"
puts "sub esp, #{@pos}"
puts "ret"
end
a = int 3
b = int 5
ret add a, (add a, b)