Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

На ассемблере Emu8086 написать программу, вернее указать ошибку в моей

Алина Козлова Ученик (229), на голосовании 5 месяцев назад
в цикле 6 раз красными буквами вывести лесенкой слово Alina, есть программа, но не выводит красными буквами, в чем ошибка и как исправить?(

.model small
.stack 100h

.data
msg db 'Alina$'

.code
main proc
mov ax, @data
mov ds, ax

mov cx, 6 ; количество итераций
print_loop:
mov ah, 02h ; функция для установки цвета символа
mov dl, 'A' ; символ 'A'
mov bh, 0C4h ; атрибуты (красный текст, черный фон)
int 10h

mov ah, 09h ; функция для вывода строки
lea dx, msg ; загрузка адреса строки
int 21h

mov dl, 0Ah ; символ переноса строки
mov ah, 02h ; функция для вывода символа
int 21h

loop print_loop ; цикл итераций

mov ah, 4ch
int 21h
main endp

end main
Голосование за лучший ответ
@Synergyst Мыслитель (8917) 6 месяцев назад
Ты используешь DOS-прерывание 21h, которое не учитывает цвет символов. Для вывода с учетом цвета тебе нужно вызывать BIOS-прерывание 10h с ah=0Eh, а для установки курсора брать 02h. Атрибут красного цвета - 4h.
Похожие вопросы