global _start
section .data
buffer dw 0h
section .text
_start:
mov ecx, buffer
mov edx, 02h
call read
mov cx, word [buffer]
cmp cx, 3234h
je exit
cmp ch, 0ah
je one_dig
jmp two_dig
one_dig:
mov ecx, buffer
mov edx, 02h
call write
jmp _start
two_dig:
mov ecx, buffer
mov edx, 02h
call write
mov edx, 01h
mov ecx, buffer
call read ; read the 0ah
mov ecx, buffer
call write ; write the 0ah
jmp _start
exit:
mov eax, 01h ; exit()
xor ebx, ebx ; errno
int 80h
read:
mov eax, 03h ; read()
mov ebx, 00h ; stdin
int 80h
ret
write:
mov eax, 04h ; write()
mov ebx, 01h ; stdout
int 80h
ret
CWdsb2JhbCBfc3RhcnQKCnNlY3Rpb24gLmRhdGEKCWJ1ZmZlcglkdwkwaAoKc2VjdGlvbiAudGV4dAoKX3N0YXJ0OgoJbW92CQllY3gsIGJ1ZmZlcgoJbW92CQllZHgsIDAyaAoJY2FsbAkJcmVhZAoJbW92CQljeCwgd29yZCBbYnVmZmVyXQoJY21wCQljeCwgMzIzNGgKCWplCQlleGl0CgljbXAJCWNoLCAwYWgKCWplCQlvbmVfZGlnCglqbXAJCXR3b19kaWcKCm9uZV9kaWc6Cgltb3YJCWVjeCwgYnVmZmVyCgltb3YJCWVkeCwgMDJoCgljYWxsCQl3cml0ZQoJam1wCQlfc3RhcnQKCnR3b19kaWc6Cgltb3YJCWVjeCwgYnVmZmVyCgltb3YJCWVkeCwgMDJoCgljYWxsCQl3cml0ZQoJbW92CQllZHgsIDAxaAoJbW92CQllY3gsIGJ1ZmZlcgoJY2FsbAkJcmVhZAkJCTsgcmVhZCB0aGUgMGFoCgltb3YJCWVjeCwgYnVmZmVyCgljYWxsCQl3cml0ZQkJCTsgd3JpdGUgdGhlIDBhaAoJam1wCQlfc3RhcnQKCmV4aXQ6Cgltb3YJCWVheCwgMDFoCQk7IGV4aXQoKQoJeG9yCQllYngsIGVieAkJOyBlcnJubwoJaW50CQk4MGgKCgpyZWFkOgoJbW92CQllYXgsIDAzaAkJOyByZWFkKCkKCW1vdgkJZWJ4LCAwMGgJCTsgc3RkaW4KCWludAkJODBoCglyZXQKd3JpdGU6Cgltb3YJCWVheCwgMDRoCQk7IHdyaXRlKCkKCW1vdgkJZWJ4LCAwMWgJCTsgc3Rkb3V0CglpbnQJCTgwaAoJcmV0