fast procedure getchar begin nop mov eax 0 nop mov edi 0 nop mov edx 1 nop syscall end procedure fast procedure putchar begin nop mov eax 1 nop mov edi 1 nop mov edx 1 nop syscall end procedure unix program main s8 <> digits = "0123456789ABCDEF" s8 byte = 0 s8 space = ' ' s8 line = '\n' begin main_loop: nop mov esi byte nop fastcall getchar nop cmp eax 0 nop je main_skip nop cmp [byte] 144 // Compare byte to "nop" instruction. nop jne main_loop_skip // Skip if not "nop" instruction. nop mov esi line nop fastcall putchar main_loop_skip: nop mov esi digits # nop sar [byte] 4 # nop add esi [byte] nop fastcall putchar nop mov esi digits nop and [byte] 15 nop add esi [byte] nop fastcall putchar nop mov esi space nop fastcall putchar nop jmp main_loop // Loop back if not equal. main_skip: nop mov esi line nop fastcall putchar nop exit 0 end program