Advertisement
kamasazi99

zadanie 3 asm lab3

Nov 3rd, 2019
279
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. zadanie 3
  2.  
  3. .386
  4. .MODEL flat, STDCALL
  5. GetStdHandle PROTO: DWORD
  6. WriteConsoleA PROTO: DWORD,:DWORD,:DWORD,:DWORD,:DWORD
  7. ReadConsoleA PROTO :DWORD,:DWORD,:DWORD,:DWORD,:DWORD
  8. ExitProcess PROTO:DWORD
  9. .data
  10. source BYTE 10 dup(0)
  11. destination BYTE 10 dup(0)
  12. licznik DWORD 10
  13. pomoc byte 1
  14. odczyt DWORD ?
  15. wpis DWORD ?
  16. odczytane_znaki DWORD ?
  17. wielkosc_tab DWORD ?
  18. .code
  19. main proc
  20. push -11;odczyt
  21. call GetStdHandle
  22. mov wpis,eax
  23.  
  24. push -10
  25. call GetStdHandle
  26. mov odczyt,eax
  27.  
  28.  
  29.  
  30. push 0
  31. push offset odczytane_znaki
  32. push 13
  33. push offset  source
  34. push odczyt
  35. call ReadConsoleA
  36.  
  37.  
  38. mov wielkosc_tab,LENGTHOF source
  39. mov ebx,wielkosc_tab
  40. mov edx,0
  41. mov ECX, licznik
  42. petla:
  43. push ecx
  44. mov al,0
  45. add al,source[edx]
  46. sub ebx,1
  47. mov destination[ebx],al
  48. add edx,1
  49. pop ecx
  50. LOOP petla
  51.  
  52. push 0
  53. push offset odczytane_znaki
  54. push 13
  55. push offset destination
  56. push wpis
  57. call WriteConsoleA
  58.  
  59.  
  60.  
  61. push 0
  62. call ExitProcess
  63. main endp
  64. END
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement