Вывести символы чёрного цвета на зелёном фоне - Assembler
Формулировка задачи:
Здравствуйте, помогите пожалуйста.
Дано задание: вывести символ ¶ 20 раз чёрным цветом по ярко-зелёному фону. Написал код:
На экран выводит 20 символов белым по чёрному. Что не правильно?
Цвет подобрал так:
Код зелёного - 010, яркость - 1;
мигание - 0, цвет символов чёрный - 000. Получилось цвет фона/цвет символа 1010/0000 соответственно, затем перевёл в 16-ричную получилось 10100000=a0.
mov ah, 0a mov al, 14 mov bh, 00 mov bl, a0 mov cx, 20 int 10 int 20 g
Решение задачи: «Вывести символы чёрного цвета на зелёном фоне»
textual
Листинг программы
MOV AL,14 ; символ MOV BX,0Ah ; BH=страница(0), BL=цвет (зелёный на чёрном) MOV CX,20 ; повторов MOV AH,9 ; fn(09h) INT 10h ;
Объяснение кода листинга программы
Вывод символа на экран с использованием регистра BX:
- MOV AL,14
- MOV BX,0Ah
- MOV CX,20
- MOV AH,9
- INT 10h В данном коде используется ассемблерный язык и применяется для вывода символа на экран. Для выполнения этой задачи используются следующие регистры:
- AL - используется для хранения и передачи данных в коде. В данном случае используется для хранения символа '14', который представляет собой символ чёрного цвета в кодировке ASCII.
- BX - используется для хранения и передачи данных в коде. В данном случае используется для хранения цвета символа. BH (верхний байт регистра BX) устанавливается в 0Ah, что соответствует странице 10 в таблице символов ASCII. BL (нижний байт регистра BX) устанавливается в 00h, что соответствует зелёному цвету.
- CX - используется для хранения и передачи данных в коде. В данном случае используется для хранения количества повторений вывода символа. Значение 20 указывает, что символ будет выводиться 20 раз.
- AH - используется для хранения и передачи данных в коде. В данном случае используется для хранения функции вывода на экран. Значение 9 указывает на функцию вывода символа.
- INT 10h - используется для вызова функции вывода на экран. Функция с номером 10h выводит символ на экран. Следовательно, в результате выполнения данного кода на экран будет выведено 20 символов чёрного цвета на зелёном фоне.