.486 .model flat extrn __fltused:near extrn __ftol:near public _foo _TEXT segment _foo: push ebx push esi push edi push ebp mov ebp,esp sub esp,8 mov edi,dword ptr (24)[ebp] push edi mov edi,dword ptr (20)[ebp] push edi call _compare add esp,8 mov dword ptr (-8)[ebp],eax mov edi,dword ptr (-8)[ebp] cmp edi,-1 je L7 cmp edi,0 je L6 cmp edi,1 je L5 jmp L2 L5: mov byte ptr (-1)[ebp],71 jmp L3 L6: mov byte ptr (-1)[ebp],69 jmp L3 L7: mov byte ptr (-1)[ebp],76 jmp L3 L2: lea edi,(L8) push edi call _error add esp,4 L3: movsx eax,byte ptr (-1)[ebp] L1: mov esp,ebp pop ebp pop edi pop esi pop ebx ret _TEXT ends extrn _error:near _TEXT segment _TEXT ends extrn _compare:near _TEXT segment _TEXT ends _TEXT segment align 1 L8 label byte db 83 db 104 db 111 db 117 db 108 db 100 db 32 db 110 db 101 db 118 db 101 db 114 db 32 db 103 db 101 db 116 db 32 db 104 db 101 db 114 db 101 db 10 db 0 _TEXT ends end