Advertisement
Guest User

Untitled

a guest
Nov 19th, 2018
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.64 KB | None | 0 0
  1. data SEGMENT
  2.  
  3. data ENDS
  4. code SEGMENT ; СЕГМЕНТ КОДА
  5. ASSUME cs:code,ds:data ; назначение сегментных регистров для адресации сегментов кода и данных
  6.  
  7. xTopLeft equ 50
  8. yTopLeft equ 20
  9. sizeX dw 25
  10. sizeY dw 15
  11. org 100h
  12. start:
  13. mov ax,3 ;заносим код видеорежима(текстовый)
  14. int 10h ; вызываем видеорежим
  15. mov ax,0B800h ; 0-ая видеостраница
  16. mov es,ax ;адрес начала видеостраницы
  17. mov al,20h; символ пробела, чтобы окно было чем то заполнено
  18. mov bx,10*(yTopLeft+xTopLeft);Вычисление положение окна относительно консоли
  19. mark1: mov di,bx ; Начальное положение заполнение
  20. mov cx,sizeY ; Количество строк
  21. mark2: push cx ; Запомнить cx в стеке
  22. mov ah,80h ; Цветовой режим
  23. push di ; Сохранение указателя
  24. mov cx,sizeX ; Количество символов в строке
  25. rep stosw ;Вывод символов
  26. pop di
  27. add di,160 ; Смещение на начало новой строки
  28. pop cx
  29. loop mark2 Цикл на новую строку
  30. xor ax,ax; Отчистка
  31. int 16h; Ввод клавиши
  32. cmp ah,43h; Проверка на нажатие F9
  33. je exit; Если она нажата, то выход
  34. jmp mark1; Если нет, то продолжаем работу
  35.  
  36. exit: exitcode 0
  37. code ENDS
  38. end start
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement