Как подключить графический режим? masm32 - Assembler

Узнай цену своей работы

Формулировка задачи:

Объясните пожалуйста как подключить графический режим(dos) и нарисовать линию? Хотелось бы узнать как выглядит графика на ассемблере

Решение задачи: «Как подключить графический режим? masm32»

textual
Листинг программы
.286
.model tiny
.code
ORG 100h
start: 
MOV AH,0Fh 
INT 10h
MOV VIDEOR,AL
MOV AX, 0013h 
INT 10h
MOV ax,0A000h
MOV ES,ax
MOV DI,0 
MOV CX,0 
MOV DL,2
MOV AX,320 
MUL CX 
MOV BX,AX 
MOV ES:[BX][DI],DL;
 
XOR AX,AX 
INT 16h
MOV AH,0 ;восстановление видеорежима
MOV AL,VIDEOR
INT 10h
ret ;выход из программы
 
VIDEOR DB ? 
END start

Объяснение кода листинга программы

  1. Устанавливаем модель процессора на 286.
  2. Устанавливаем модель памяти на tiny.
  3. Определяем сегмент кода.
  4. Задаём точку входа в программу.
  5. Перемещаем регистр AH на 0Fh для вывода сообщения об ошибке.
  6. Вызываем BIOS для вывода сообщения об ошибке.
  7. Сохраняем значение регистра AL в переменной VIDEOR.
  8. Устанавливаем сегмент данных на 0013h.
  9. Вызываем BIOS для установки сегмента данных.
  10. Устанавливаем сегмент стека на 0A000h.
  11. Устанавливаем сегментку для видеобуфера на ES.
  12. Устанавливаем байт указателя на видеобуфер на DI.
  13. Устанавливаем байт указателя на количество строк на CX.
  14. Устанавливаем байт указателя на атрибуты видеобуфера на DL.
  15. Устанавливаем байт указателя на количество байтов на строке на BX.
  16. Записываем значение DL в ES:[BX][DI].
  17. Устанавливаем регистр AX на 320.
  18. Умножаем CX на AX.
  19. Записываем результат в BX.
  20. Записываем байт атрибута в ES:[BX][DI].
  21. Восстанавливаем видеорежим.
  22. Задаём регистру AH значение VIDEOR.
  23. Вызываем BIOS для восстановления видеорежима.
  24. Завершаем программу.
  25. В переменную VIDEOR записывается байт, определяющий видеорежим.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 4.333 из 5
Похожие ответы