Поменять цвет экрана на зеленый - Assembler
Формулировка задачи:
Добрый день. Необходимо написать подпрограмму, меняющую цвет экрана с черного
на зеленый, путем изменения битов в байтах атрибутов видеопамяти. При работе процедура использует команды работы с битами непосредственно в памяти.
Выходит argument needs type overide. Как исправить?
.386
cseg segment para use16 'CODE'
assume cs:cseg,ds:cseg,ss:cseg
org 100h
start:
cld
mov ax,0B800h
mov es,ax
mov si,00h
mov cx,40
btr es:[si],12
bts es:[si],13
btr es:[si],14
add si,2
rep stosd
int 20h
cseg ends
end startРешение задачи: «Поменять цвет экрана на зеленый»
textual
Листинг программы
mov AX, 1010h mov BX, 0 mov DH, 0 mov CH, 63 mov CL, 0 int 10h
Объяснение кода листинга программы
mov AX, 1010h- Переменная AX получает значение 1010h (в десятичной системе это 4096).mov BX, 0- Переменная BX получает значение 0.mov DH, 0- Переменная DH получает значение 0.mov CH, 63- Переменная CH получает значение 63.mov CL, 0- Переменная CL получает значение 0.int 10h- Выполняется интеркаляция с кодом 10h, который обычно используется для вывода информации на экран. В результате выполнения данного кода, цвет экрана должен измениться на зеленый.