Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- _czas proc
- push ebp
- mov ebp, esp
- pusha
- ; alokacja pamieci do getsystemtime i pozniej do tekstu (zeby nie alokowac dwa razy)
- mov eax, 1024
- push eax
- call _malloc
- add esp, 4
- mov esi, eax ; zachowanie adresu zaalokowanej pamieci
- push eax
- call _GetSystemTime@4
- ; wyciaganie danych ze struktury (na odwrot bo bedzie wrzucane na stos)
- mov ax, [esi+6] ; dzien
- push ax
- mov ax, [esi+2] ; miesiac
- push ax
- mov ax, [esi] ; rok
- push ax
- mov ebx, 10 ; dzielnik
- ; rysunek pomocniczy
- ; _ _ _ _ _ _ _ _ _ _ 0
- ; 2 0 1 8 . 0 1 . 0 4 0
- ; 0 2 4 6 8 10 12 14 16 18 20
- ; dzielenie daty bedzie szlo od konca wiec w przypadku roku trzeba zaczac od 6 i isc do 0
- ; rok
- pop ax ; popniecie roku ze stosu
- movzx eax, ax ; usuniecie syfu z eax zostawiajac tylko ax
- mov edx, 0 ; zerowanie edx zeby nie zrobil sie syf przy dzieleniu
- div ebx ; dzielenie edx:eax przez ebx
- add edx, '0' ; zamiana na tekst
- mov word ptr [esi+6], dx ; wrzucenie do pamieci na dane miejsce
- ; dalej do konca jest wlasciwie caly czas to samo, wiec nie ma za mocno sensu zeby to opisywac
- mov edx, 0
- div ebx
- add edx, '0'
- mov word ptr [esi+4], dx
- mov edx, 0
- div ebx
- add edx, '0'
- mov word ptr [esi+2], dx
- mov edx, 0
- div ebx
- add edx, '0'
- mov word ptr [esi], dx
- mov word ptr [esi+8], '.'
- ; miesiac
- pop ax
- movzx eax, ax
- mov edx, 0
- div ebx
- add edx, '0'
- mov word ptr [esi+12], dx
- mov edx, 0
- div ebx
- add edx, '0'
- mov word ptr [esi+10], dx
- mov word ptr [esi+14], '.'
- ; dzien
- pop ax
- movzx eax, ax
- mov edx, 0
- div ebx
- add edx, '0'
- mov word ptr [esi+18], dx
- mov edx, 0
- div ebx
- add edx, '0'
- mov word ptr [esi+16], dx
- mov word ptr [esi+20], 0
- ; wzywanie messageboxa
- push 0
- push esi
- push esi
- push 0
- call _MessageBoxW@16
- ;epilog
- popa
- pop ebp
- ret
- _czas endp
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement