Поменять цвет экрана на зеленый - Assembler

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

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

Добрый день. Необходимо написать подпрограмму, меняющую цвет экрана с черного на зеленый, путем изменения битов в байтах атрибутов видеопамяти. При работе процедура использует команды работы с битами непосредственно в памяти. Выходит argument needs type overide. Как исправить?
Листинг программы
  1. .386
  2. cseg segment para use16 'CODE'
  3. assume cs:cseg,ds:cseg,ss:cseg
  4. org 100h
  5. start:
  6. cld
  7. mov ax,0B800h
  8. mov es,ax
  9. mov si,00h
  10. mov cx,40
  11. btr es:[si],12
  12. bts es:[si],13
  13. btr es:[si],14
  14. add si,2
  15. rep stosd
  16. int 20h
  17. cseg ends
  18. end start

Решение задачи: «Поменять цвет экрана на зеленый»

textual
Листинг программы
  1. mov AX, 1010h
  2. mov BX, 0
  3. mov DH, 0
  4. mov CH, 63
  5. mov CL, 0
  6. int 10h

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

  1. mov AX, 1010h - Переменная AX получает значение 1010h (в десятичной системе это 4096).
  2. mov BX, 0 - Переменная BX получает значение 0.
  3. mov DH, 0 - Переменная DH получает значение 0.
  4. mov CH, 63 - Переменная CH получает значение 63.
  5. mov CL, 0 - Переменная CL получает значение 0.
  6. int 10h - Выполняется интеркаляция с кодом 10h, который обычно используется для вывода информации на экран. В результате выполнения данного кода, цвет экрана должен измениться на зеленый.

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


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

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

6   голосов , оценка 3.833 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы