Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- .686
- .model flat
- extern __write : PROC
- extern _ExitProcess@4 : PROC
- public _main
- .data
- znaki db 12 dup (?)
- .code
- wyswietl_EAX PROC
- pusha
- mov esi, 10 ; indeks w tablicy znaki
- mov ebx, 10 ; dzielnik rowny 10
- konwersja:
- mov edx, 0 ; zerowanie starszej części dzielnej
- div ebx ; dzielenie przez 10, reszta w edx, iloraz w eax
- add dl, 30h ; zamiana reszty na ASCII
- mov znaki [esi] , dl ; zapisanie cyfryw ASCII
- dec esi ; zmniejszenie indeksu
- cmp eax, 0 ;sprawdzenie czy iloraz = 0
- jne konwersja ; skok gdy iloraz niezerowy
- ; spacje i nowe linie
- wypeln:
- or esi, esi
- jz wyswietl ; skok gdy esi = 0
- mov byte PTR znaki [esi], 20h ; kod spacji
- dec esi ; zminiejszenie indeksu
- jmp wypeln
- wyswietl:
- mov byte PTR znaki [0], 0Ah ; kod new lajn
- mov byte PTR znaki [11], 0Ah
- ; na ekran
- push dword PTR 12
- push dword PTR OFFSET znaki
- push dword PTR 1
- call __write
- add esp, 12
- popa
- ret
- wyswietl_EAX ENDP
- _main:
- mov eax, 1
- mov ebx, 1
- mov ecx, 1
- petla:
- call wyswietl_EAX
- add eax, ebx
- inc ebx
- inc ecx
- cmp ecx, 51
- jb petla
- push 0
- call _ExitProcess@4
- END
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement