.section .text msg: .ascii "hello" output: .ascii "good work\n" output2: .ascii "bad work\n" .globl _start _start: pushl $msg pushl $12 jmp foo return: addw $1584, %ax cmp $1590, %ax jz good bad: movl $4, %eax movl $1, %ebx movl $output2, %ecx movl $9, %edx int $0x80 jmp exit foo: popw %ax popl %ebx mov $2, %cx divw %cx jmp return good: movl $4, %eax movl $1, %ebx movl $output, %ecx movl $10, %edx int $0x80 exit: movl $1, %eax xor %ebx, %ebx int $0x80