Форум программистов, компьютерный форум, киберфорум
Assembler для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.90/21: Рейтинг темы: голосов - 21, средняя оценка - 4.90
1 / 1 / 2
Регистрация: 24.09.2016
Сообщений: 144
1

Изменение фона консоли

01.05.2017, 10:17. Показов 3871. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
при нажатии кнопки очистить экран синим цветом, вывести свое имя с атрибутом мерцающий красным цветом на зеленом фоне в левом верхнем углу и плавно перемещать в правый нижний угол.
вот суть задания. но проблема с самого начала. не могу сделать синий экран при нажатии клавиши. вот мой код и ошибка
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
.model small
.stack 100h
.code
start:
 
;input func
again:
xor ax,ax
int 16h
cmp ah, 34
jz g
cmp ah, 20
jz t
jmp again
 
;window 80*25, 16 col, blue background
t:
    mov ax, 3h   ;80*25
    mov al, 10h   ;16 colors
    mov bh, 1h    ;blue color
    int 10h 
 
g:    
    
;cout
int 29h
;endl
mov al,0ah
int 29h
jmp again
 
exit:
mov ax,4c00h
int 21h
end start
Изменение фона консоли
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.05.2017, 10:17
Ответы с готовыми решениями:

Как менять цвет фона в консоли, нажатием клавиши? (TASM)
Здравствуйте, уважаемые жители форума. Помогите пожалуйста с исправлением этой программы или...

Изменить цвет шрифта и фона в консоли
Помогите написать программу, которая читает введенные символы с клавиатуры, затем снова пишет эту...

Почему изменение фона затрагивает не только изменение фона поля ввода?
Почему изменение фона через BackColor затрагивает не только изменение фона поля ввода в...

Формирование фона Sidebar'a графическим файлом и изменение размера фона
Фон сайд баров сформирован повторяющейся линий (графика в png). Как можно так подвигать этот...

5
Модератор
Эксперт по электронике
8476 / 4335 / 1642
Регистрация: 01.02.2015
Сообщений: 13,461
Записей в блоге: 8
01.05.2017, 10:32 2
Там, кажется, особенности эмуляции DOS - нужно в самом начале программы добавлять установку видеорежима 3.

Добавлено через 4 минуты
А что вы такое вызываете в строках 18-21 (там дважды используется ax)
0
1 / 1 / 2
Регистрация: 24.09.2016
Сообщений: 144
01.05.2017, 12:35  [ТС] 3
18 строка регистр ах - установка экрана в третий текстовый режим
19 регистр ал - параметр 16 цветов
20 - заоплнение экрана синим цветом
21 - прерывание видюхи

Добавлено через 4 минуты
а можно подробнее узнать как в начале установить видеорежим?
я его установил после перехода к t:
0
Модератор
Эксперт по электронике
8476 / 4335 / 1642
Регистрация: 01.02.2015
Сообщений: 13,461
Записей в блоге: 8
01.05.2017, 13:14 4
ax состоит из al и ah, поэтому внося изменения в al вы изменяете ax.
Поэтому я и спросил.

Для окраски фона используйте скроллинг - функции 06 и 07 int 10h.

Добавлено через 15 минут
Пример окраски синим цветом
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
LOCALS
 
.model small
 
.stack 100h
 
.data
 
.code
 
main    proc
    mov ax,     @data
    mov ds, ax
 
    call    ClearScreen
 
    mov ax, 4C00h
    int 21h
main    endp
 
;Очистка экрана
;вход
; - нет
;выход
; - нет
ClearScreen     proc
        push    ax
        push    bx
        push    cx
        push    dx
 
        mov     ah,     06h     ;функция SCROLL UP
        mov     bh,     17h     ;атрибут для заполнения
        mov     cx,     0000h   ;верхний левый угол окна
        mov     dx,     24*256+79
        int     10h
 
        pop     dx
        pop     cx
        pop     bx
        pop     ax
        ret
ClearScreen     endp
 
end main
1
1 / 1 / 2
Регистрация: 24.09.2016
Сообщений: 144
02.05.2017, 01:32  [ТС] 5
все же ошибка не пропала...
Изменение фона консоли
0
Модератор
Эксперт по электронике
8476 / 4335 / 1642
Регистрация: 01.02.2015
Сообщений: 13,461
Записей в блоге: 8
02.05.2017, 07:21 6
Тогда, уточняйте, на чьём коде не пропала ошибка.
Если в вашем - то удалите строки 18-21, в них творится что-то невообразимое.
0
02.05.2017, 07:21
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.05.2017, 07:21
Помогаю со студенческими работами здесь

Изменение фона - плавное изменение цвета
Не фурычит плавное изменение цвета... Если переменные r g b через рандом то всё работает отлично...

Цвет фона консоли с++
Всем привет! Подскажите пожалуйста как поменять цвет фона в консоли, чтобы вместо чорного экрана...

Цвет шрифта и фона в консоли...
Знаю, это тема уже обсуждалась, но я новичок в программировании и ничего в предложенном ранее коде...

Изменить цвет фона консоли
как сделать цвет фона всего окна сразу?? program ti; uses crt; type abit=record ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru