/* What does this program print out? */ .section .data push: .asciz " pushh " # 12 characters pop: .asciz " pop " # 6 characters .section .text .globl _start a_function: mov $push, %ecx add $1, %esi add %esi, %ecx mov $4, %eax int $0x80 cmp $5, %esi je pass call a_function pass: mov $pop, %ecx mov $4, %eax int $0x80 ret _start: mov $0, %esi mov $1, %ebx mov $6, %edx call a_function mov $1, %eax mov $0, %ebx int $0x80