Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- data SEGMENT
- data ENDS
- code SEGMENT ; СЕГМЕНТ КОДА
- ASSUME cs:code,ds:data ; назначение сегментных регистров для адресации сегментов кода и данных
- xTopLeft equ 50
- yTopLeft equ 20
- sizeX dw 25
- sizeY dw 15
- org 100h
- start:
- mov ax,3 ;заносим код видеорежима(текстовый)
- int 10h ; вызываем видеорежим
- mov ax,0B800h ; 0-ая видеостраница
- mov es,ax ;адрес начала видеостраницы
- mov al,20h; символ пробела, чтобы окно было чем то заполнено
- mov bx,10*(yTopLeft+xTopLeft);Вычисление положение окна относительно консоли
- mark1: mov di,bx ; Начальное положение заполнение
- mov cx,sizeY ; Количество строк
- mark2: push cx ; Запомнить cx в стеке
- mov ah,80h ; Цветовой режим
- push di ; Сохранение указателя
- mov cx,sizeX ; Количество символов в строке
- rep stosw ;Вывод символов
- pop di
- add di,160 ; Смещение на начало новой строки
- pop cx
- loop mark2 Цикл на новую строку
- xor ax,ax; Отчистка
- int 16h; Ввод клавиши
- cmp ah,43h; Проверка на нажатие F9
- je exit; Если она нажата, то выход
- jmp mark1; Если нет, то продолжаем работу
- exit: exitcode 0
- code ENDS
- end start
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement