Alyks

4.1

May 12th, 2020
209
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.39 KB | None | 0 0
  1. ESC_ equ 1Bh
  2.  
  3. org 100h
  4.  
  5. start:
  6. mov ah, 8 ;Ввод символа
  7. int 21h
  8. cmp al, ESC_ ;Сравнение, нажат ли esc
  9. je exit ;Если нажат, то выполняется процедура exit
  10.  
  11. cmp al, '!' ;Сравнение, нажат ли !
  12. jb bell ;Код ! = 57, если нажата клавиша, чей код меньше 57, то выполняется процедура bell
  13. cmp al, '&' ;Сравнение, нажат ли &
  14. ja bell ;Код & = 62, если нажата клавишу, чей код больше 62, то выполянется процедура bell
  15.  
  16. mov ah, 2 ;Если нажата нужная клавиша, то этот символ выводится в консоль
  17. mov dl, al
  18. int 21h
  19.  
  20. jmp start ;Выполняем процедуру заново
  21.  
  22. exit:
  23. mov ah, 9 ;Вывод сообщения в консоль
  24. mov dx, exitMsg
  25. int 21h
  26.  
  27. mov ah, 8 ;Ожидание ввода любого символа, после чего программа закроется
  28. int 21h
  29. ret
  30.  
  31. bell:
  32. mov ah, 02h
  33. mov dl, 7 ; 7 - звук
  34. int 21h
  35. jmp start ;Переход к процедуре start
  36. ret
  37.  
  38. exitMsg db " press any button to exit$"
Add Comment
Please, Sign In to add comment