Advertisement
Guest User

Untitled

a guest
Aug 19th, 2017
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. [bits 32]
  2.  
  3. wypisz:       ;wypisywanie tu jest
  4. call druk
  5. db "%d", 0xa, 0
  6. druk:
  7. call [EBX+3*4]
  8. add esp, 4     ; koniec wypisywania
  9.  
  10. mov EAX, 0       ; iterator
  11. push EBP         ; zachowanie stosu i ebp
  12. mov EBP, ESP
  13. sub ESP, 8192  ; alokacja pamięci na stosie na 256 elementów o długości DWORD
  14. jmp sprawdz
  15.  
  16. zeruj:
  17. mov DWORD [ESP], 0   ; tu sobie wpisuje 0 do tablicy
  18. inc EAX              ; inkrementacja iteratora
  19. add ESP, 32          ; dodajemy do EBX, tak żeby pokazywał na kolejny element tablicy    
  20.  
  21. sprawdz:
  22. cmp EAX, 255        ; porównujemy iterator z 255
  23. jle zeruj            ; jeśli mniejsze lub rowne 255 to skocz do zerowania
  24. mov EAX, 0          ; jeśli nie, to koniec, przypisz do EAX 0
  25.  
  26. sub ESP, 8192        ; ESP teraz powinno wskazywac na koniec tablicy
  27. cmp EAX, 255         ; a chce ja wypisac wiec sobie znowu odejmuje 32*256 bajtow zeby pokazywal na poczatek
  28. jle wypisz           ; wypisuje jesli iterator <=255
  29.  
  30. mov ESP, EBP         ; koniec
  31. pop EBP
  32.  
  33. push 0
  34. call [EBX]           ; exit
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement