.686p .model flat include kernel32.inc includelib kernel32.lib includelib msvcrt.lib extern _printf:proc extern _scanf:proc extern _strlen:proc .data strScanfFmt db "%d",0 strPrintfFmt db "%d",0 .code sgn proc xor eax, eax mov ebx, -1 mov ecx, 1 cmp dword ptr [esp+4], 0 cmovl eax, ebx cmovg eax, ecx ret sgn endp _main proc var1=-4 mov ebp, esp sub esp, 4 lea edx, dword ptr var1[ebp] push edx push offset strScanfFmt call _scanf add esp, 8 push dword ptr var1[ebp] call sgn add esp, 4 push eax push offset strPrintfFmt call _printf add esp, 8 push 0 call ExitProcess _main endp end _main