Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- .386
- .MODEL flat, STDCALL
- ExitProcess PROTO :DWORD
- ReadConsoleA PROTO: DWORD,:DWORD,:DWORD,:DWORD,:DWORD
- GetStdHandle PROTO:DWORD
- .data
- varA DWORD 0
- varOne DWORD 0
- varTwo DWORD 0
- varThree DWORD 0
- varFour DWORD 0
- odczyt DWORD ?
- odczytane_znaki DWORD ?
- .code
- main proc
- push -10
- call GetStdHandle
- mov odczyt,eax
- push 0
- push offset odczytane_znaki
- push 13
- push offset varOne
- push odczyt
- call ReadConsoleA
- mov ebx,offset varOne
- add ebx,odczytane_znaki
- mov [ebx-2],BYTE PTR 0
- mov eax, offset varOne
- push offset varOne
- call atoi
- mov varA, EAX
- push 0
- push offset odczytane_znaki
- push 13
- push offset varTwo
- push odczyt
- call ReadConsoleA
- mov ebx,offset varTwo
- add ebx,odczytane_znaki
- mov [ebx-2],BYTE PTR 0
- mov eax, offset varTwo
- push offset varTwo
- call atoi
- mov varA, EAX
- push 0
- push offset odczytane_znaki
- push 13
- push offset varThree
- push odczyt
- call ReadConsoleA
- mov ebx,offset varThree
- add ebx,odczytane_znaki
- mov [ebx-2],BYTE PTR 0
- mov eax, offset varThree
- push offset varThree
- call atoi
- mov varA, EAX
- push 0
- push offset odczytane_znaki
- push 13
- push offset varFour
- push odczyt
- call ReadConsoleA
- mov ebx,offset varFour
- add ebx,odczytane_znaki
- mov [ebx-2],BYTE PTR 0
- mov eax, offset varFour
- push offset varThree
- call atoi
- mov varA, EAX
- push 0
- call ExitProcess
- main endp
- atoi proc uses esi edx inputBuffAddr:DWORD
- mov esi, inputBuffAddr
- xor edx, edx
- xor EAX, EAX
- mov AL, BYTE PTR [esi]
- cmp eax, 2dh
- je parseNegative
- .Repeat
- lodsb
- .Break .if !eax
- imul edx, edx, 10
- sub eax, "0"
- add edx, eax
- .Until 0
- mov EAX, EDX
- jmp endatoi
- parseNegative:
- inc esi
- .Repeat
- lodsb
- .Break .if !eax
- imul edx, edx, 10
- sub eax, "0"
- add edx, eax
- .Until 0
- xor EAX,EAX
- sub EAX, EDX
- jmp endatoi
- endatoi:
- ret
- atoi endp
- END
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement