Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.12.2018, 19:38   #1
Fallen199
 
Регистрация: 15.06.2017
Сообщений: 6
По умолчанию Закраска текста разными цветами

Подскажите написал программу на Assembler, но никак не могу вывести выделить выведенный текст разными цветами.
Код:
.8086 
.model small 
.data 
mybuf label byte 
len db 254 
newlen db ? 
mystr db 255 dup (36) 
prigl db 'Vvedite stroku:$' 
ctrl db 13,10,36 
.code 
start: 
mov ax, @data 
mov ds, ax 
;вывожу приглашение 
lea dx, prigl 
mov ah, 9h 
int 21h 
;ввод в буфер 
lea dx, mybuf 
mov ah, 0ah 
int 21h 
;Enter 
lea dx, ctrl 
mov ah, 9h 
int 21h 
 
;вывод строки 
lea dx, mystr 
mov ah, 9h 
int 21h 
;ожидание нажатия клавиши 
mov ah, 8h 
int 21h 
 
mov ah, 4ch 
int 21h 
end start
Fallen199 вне форума Ответить с цитированием
Старый 03.12.2018, 20:50   #2
R71MT
Участник клуба
 
Аватар для R71MT
 
Регистрация: 16.06.2011
Сообщений: 1,428
По умолчанию

стандартные сервисы и прерывания DOS не могут выводить цветные строки, поэтому нужно отправлять символы напрямую в видеобуфер (b800:0000), или-же прерыванием видеосервиса BIOS INT-10h (AH=9 выводит по-символьно, AH=13h выводит сразу строку) . Скачай справочник по прерываниям (например Tech-Help) и почитай про эти функции.
Нашедшего выход - затаптывают первым..
R71MT вне форума Ответить с цитированием
Старый 03.12.2018, 20:56   #3
Fallen199
 
Регистрация: 15.06.2017
Сообщений: 6
По умолчанию

В этом и проблема я не понимаю куда нужно. пробовал по разному максимум что получил это вот это. на новую строчку не переносится
Код:
.8086 
.model small 
.data 
mybuf label byte 
len db 254 
newlen db ? 
mystr db 255 dup (36) 
prigl db 'Vvedite stroku:$' 
ctrl db 13,10,36 
.code 
start: 
mov ax, @data 
mov ds, ax 
;вывожу приглашение 
lea dx, prigl 
mov ah, 9h 
int 21h 
;ввод в буфер 
lea dx, mybuf 
mov ah, 0ah 
int 21h 
;Enter 
lea dx, ctrl 
mov ah, 9h 
int 21h 
mov bh,0 
mov bl,32 
mov cx,32 
mov dh,5 
mov dl,20
int 10h

;вывод строки 
lea dx, mystr 
mov ah, 9h 
int 21h 
;ожидание нажатия клавиши 

mov ah, 8h 
int 21h 

mov ah, 4ch 
int 21h 
end start
Fallen199 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Раскрасить сроки чужогого ComboBox разными цветами Mozgunov Общие вопросы Delphi 10 17.03.2015 11:41
Вывод текста в консоли разными цветами Arsenx777 Visual C++ 9 10.07.2011 09:59
Как писать разными цветами в консоли Ne0nka Помощь студентам 0 26.05.2010 00:47
Вывод текста разными цветами? trixx_26_90 Помощь студентам 2 21.05.2009 14:22
Текст в полях таблицы разными цветами в Delphi Гео Помощь студентам 2 13.06.2008 02:10