Advertisement
kamasazi99

asm lab 5, 2 zad

Nov 21st, 2019
309
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. .386
  2. .Model flat,STDCALL
  3. ExitProcess PROTO: DWORD
  4. WriteConsoleA PROTO: DWORD,:DWORD,:DWORD,:DWORD,:DWORD
  5. ReadConsoleA PROTO :DWORD,:DWORD,:DWORD,:DWORD,:DWORD
  6. GetStdHandle PROTO: DWORD
  7.  
  8. .data
  9. odczyt DWORD ?
  10. wypisz DWORD ?
  11. znaki DWORD ?
  12. varA DWORD 5
  13. varB DWORD 8
  14. varEqual Byte "Sa rowne",0
  15. varFirstBigger Byte "Pierwsza liczba jest wieksza",0
  16. varFirstLesser Byte "Pierwsza liczba jest mniejsza",0
  17. .code
  18. main proc
  19. push -11
  20. call GetStdHandle
  21. mov wypisz,eax
  22.  
  23. push -10
  24. call GetStdHandle
  25. mov odczyt,eax
  26.  
  27. push 0
  28. push offset znaki
  29. push 13
  30. push offset varA
  31. push odczyt
  32. call ReadConsoleA
  33.  
  34. push 0
  35. push offset znaki
  36. push 13
  37. push offset varB
  38. push odczyt
  39. call ReadConsoleA
  40.  
  41. mov eax,varA
  42.  
  43. .IF eax==varB
  44. push 0
  45. push offset znaki
  46. push lengthof varEqual
  47. push offset varEqual
  48. push wypisz
  49. call WriteConsoleA
  50. .ENDIF
  51. mov eax,varA
  52. .IF eax>varB
  53. push 0
  54. push offset znaki
  55. push lengthof varFirstBigger
  56. push offset varFirstBigger
  57. push wypisz
  58. call WriteConsoleA
  59. .ENDIF
  60. mov eax,varA
  61. .IF eax<varB
  62. push 0
  63. push offset znaki
  64. push lengthof varFirstLesser
  65. push offset varFirstLesser
  66. push wypisz
  67. call WriteConsoleA
  68. .ENDIF
  69.  
  70.  
  71.  
  72. push 0
  73. call ExitProcess
  74.  
  75. main endp
  76.  
  77. END
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement