Advertisement
joker546645

3_1 ( 50 )

Nov 9th, 2017
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. .686
  2. .model flat
  3. extern    __write : PROC
  4. extern    _ExitProcess@4 : PROC
  5. public _main
  6. .data
  7. znaki               db   12 dup (?)      
  8. .code
  9. wyswietl_EAX   PROC
  10.                pusha
  11.  
  12.                mov esi, 10 ; indeks w tablicy znaki
  13.                mov ebx, 10 ; dzielnik rowny 10
  14.  
  15.         konwersja:
  16.                 mov edx, 0 ; zerowanie starszej części dzielnej
  17.                 div ebx    ; dzielenie przez 10, reszta w edx, iloraz w eax
  18.                 add dl, 30h  ; zamiana reszty na ASCII
  19.                 mov znaki [esi] , dl ; zapisanie cyfryw ASCII
  20.                 dec esi     ; zmniejszenie indeksu
  21.                 cmp eax, 0  ;sprawdzenie czy iloraz = 0
  22.                 jne konwersja  ; skok gdy iloraz niezerowy
  23.  
  24.         ; spacje i nowe linie
  25.         wypeln:
  26.                 or esi, esi
  27.                 jz wyswietl ; skok gdy esi  =  0
  28.                 mov byte PTR znaki [esi], 20h ; kod spacji
  29.                 dec esi ; zminiejszenie indeksu
  30.                 jmp wypeln
  31.  
  32.         wyswietl:
  33.                 mov byte PTR znaki [0], 0Ah ; kod new lajn
  34.                 mov byte PTR znaki [11], 0Ah
  35.  
  36.         ; na ekran
  37.                 push dword PTR 12
  38.                 push dword PTR OFFSET znaki
  39.                 push dword PTR 1
  40.                 call __write
  41.                 add esp, 12
  42.  
  43.  
  44.                popa
  45.                ret
  46. wyswietl_EAX   ENDP
  47.  
  48. _main:
  49.  
  50.     mov eax, 1
  51.     mov ebx, 1
  52.     mov ecx, 1
  53.  
  54. petla:
  55.     call wyswietl_EAX
  56.     add eax, ebx
  57.     inc ebx
  58.     inc ecx
  59.     cmp ecx, 51
  60.     jb petla
  61.  
  62.  
  63.                push 0
  64.                call _ExitProcess@4
  65. END
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement