Форум программистов, компьютерный форум, киберфорум
Assembler: DOS/Real Mode/16-bits
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
1 / 1 / 0
Регистрация: 04.09.2021
Сообщений: 14

13h видео режим и 12h результат выполнения программы в этих режима разный почему?

05.12.2021, 01:56. Показов 1164. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
   CODESG  SEGMENT PARA 'CODE'    
ASSUME CS:CODESG,DS:CODESG,SS:CODESG,ES:CODESG
        ORG   100H
BEGIN  :JMP   SHORT MAIN
 COL    db 40
 ROW    DB 25
 
;------------------------------
 
main   PROC    near
        
        CALL REG640X200;установка режима 12h
        MOV  BH,00;Выбор фона
        MOV  BL,0001b;цвет фона
        CALL  LSDFON;
        MOV  DH,00
        MOV  DL,00
A20:
        CALL Q20CURS;установка курсора
        CALL SIMVOL;вывод символа *
        INC   DL
         CMP  DL,COL
        JNAE    A20
        INC    DH
        SUB   DL,DL
        CMP   DH,ROW
        JNAE  A20
        
        MOV   AH,00
        INT     16H
        
        RET
main   ENDP
Q20CURS PROC  NEAR
        MOV   AH,02
        MOV   BH,00
                    INT   10H
        RET
Q20CURS ENDP    
REG640X200    PROC  NEAR
                         MOV  AH,00
                         MOV  AL,12H
                         INT    10H
                         RET
REG640X200     ENDP
 
LSDFON             PROC   NEAR
 
                          MOV   AH,0BH
                           INT    10H
                          RET
LSDFON             ENDP
 
SIMVOL            PROC   NEAR
                        MOV    AH,09
                        MOV    AL,'*'
                        MOV    BH,00
                        MOV    BL,03h;цвет символа
                         MOV    CX,01
                        INT      10H
                         RET
SIMVOL            ENDP
CODESG  ENDS
         END BEGIN
выводит белые символы на синем фоне... Но в 13h совершенно иначе

Оба видео режимы..цветные 12h и 13h, у 13h 256 Цветов но функция "0BH" установки палитры и фона в этом режиме совершенно разный по сравнениюс 12h ..

Добавлено через 3 часа 57 минут
Как задается цвет в графическом 13h режиме?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
05.12.2021, 01:56
Ответы с готовыми решениями:

Debug выдает ошибку при записи параметра видео режима 13h
Пытаюсь с помощью программы debug.exe (входяющую в win 7) ввести ассемблерный код mov ax, 13h Но он указывает на ошибку "h". ...

Почему мои программы во время выполнения, якобы, переходят в режим 'не отвечает'?
Доброго времени суток. Объясните, пожалуйста, почему мои программы, которые выполняются продолжительное время (от нескольких минут до...

Почему не выводится результат выполнения программы. В чём ошибка
Составила программу (условие прилагается). Результат не выводится. Почему? В чём ошибка? Помогите исправить, пожалуйста!

8
Модератор
Эксперт по электронике
 Аватар для ФедосеевПавел
8663 / 4500 / 1670
Регистрация: 01.02.2015
Сообщений: 13,921
Записей в блоге: 13
05.12.2021, 08:39
Т.к. вы надеетесь на телепатов, а я явно не из таких, то могу лишь догадываться, что у вас не совпадает.

Я провел пуск программы в DOSBox 0.74.
Удалите строку 15 - изменение цвета границы экрана (overscan) и результаты станут идентичными.
Из моего эксперимента делаю вывод - в DOSBox есть ошибка реализации функции установки цвета границы экрана.

Добавлено через 5 минут
Или же, режим 12h и 13h, как режимы EGA, а не CGA - требуют вызова функции ax=1001h int 10h для изменения цвета границы экрана.
http://www.techhelpmanual.com/... color.html
http://www.techhelpmanual.com/... ister.html

Т.е. вы используете не ту функцию и получаете результат, отличный от ожидаемого.
1
1 / 1 / 0
Регистрация: 04.09.2021
Сообщений: 14
05.12.2021, 16:39  [ТС]
Убрав 15строку .. я получил голубые звездочки на черном фоне... а как в 13h режиме мне закрасить фон? какую функцию применить ? если 15 строка отвечала в 12h режиме работала правильно и закрашивала фон синим, но в 13h она повела себя как ведет себя в текстовом .. "закрасил бордюр экрана" ..

Добавлено через 22 минуты
поменяла цвет звездочек, и закрасила фон голубым под ними=)))..

Мне всего та надо синий фон и голубые звездочки на нем=)) Я не сильно искушен в ассемблере .. поэтому не все еще понимаю ...
0
Модератор
Эксперт по электронике
 Аватар для ФедосеевПавел
8663 / 4500 / 1670
Регистрация: 01.02.2015
Сообщений: 13,921
Записей в блоге: 13
05.12.2021, 19:43
Как-то невнятно изъясняетесь.
Цитата Сообщение от NUBDOSER Посмотреть сообщение
поменяла цвет звездочек, и закрасила фон голубым под ними=)))..
Мне всего та надо синий фон и голубые звездочки на нем=)) Я не сильно искушен в ассемблере .. поэтому не все еще понимаю ...
Это означает, что задание решено? Или постановка нерешённого вопроса появилась к третьему сообщению?
0
1 / 1 / 0
Регистрация: 04.09.2021
Сообщений: 14
05.12.2021, 22:47  [ТС]
Какой функцией можно закрасить синий фон в графическом режиме 13h ?
0
Модератор
Эксперт по электронике
 Аватар для ФедосеевПавел
8663 / 4500 / 1670
Регистрация: 01.02.2015
Сообщений: 13,921
Записей в блоге: 13
07.12.2021, 06:56
Как-то сразу и не могу вспомнить. Попробовал экспериментально перебрать некоторые функции int 10h, но как-то безрезультатно.

Значит закрашивать "вручную", по точкам.
Заполнение экрана по пикселям горизонтальными полосами разного цвета
1
1 / 1 / 0
Регистрация: 04.09.2021
Сообщений: 14
08.12.2021, 00:21  [ТС]
Да чета тоже режимы вроде однотипные графические но функции "чтение точки с экрана " например в одном режиме работает в другом нет =))) Ну да ладно будем иметь ввиду .. что не все функции в разных режимах работают...
0
Модератор
2131 / 1000 / 170
Регистрация: 23.07.2018
Сообщений: 3,349
Записей в блоге: 3
08.12.2021, 12:30
И не каждый режим можно установить функцией.
0
Модератор
Эксперт по электронике
 Аватар для ФедосеевПавел
8663 / 4500 / 1670
Регистрация: 01.02.2015
Сообщений: 13,921
Записей в блоге: 13
08.12.2021, 20:26
Есть древний цикл книг за авторством Касаткина - там была линейка подпрограмм установки точки в каждом конкретном видеорежиме, т.к. почти для каждого организация памяти уникальна.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
08.12.2021, 20:26
Помогаю со студенческими работами здесь

Почему разный результат?
package com.company; public class Main { public static void main(String args) { int k = 6; int n...

Почему выводится разный результат?
int main(){ int mass={3,5,3,5,3}; int i=0, r=0; for(int i = 0; i < 5; i++) if(mass % 3 == 0) ...

Почему Get-ScheduledTask выдаёт разный результат
Добра всем! Собственно, на проблему указал не я, см. Я проверил. Одно задание в папке \Sample\. Если выполнить скрипт из одной...

Почему получается разный результат DataSet
Всем привет. Подскажите пожалуйста, почему в коде при добавлении в таблицу объектов в типа DataRow по очереди все работает нормально. Если...

В разных системах выводит разный результат, почему?
#include <stdio.h> #include <string.h> #include <ctype.h> #include <locale.h> #define DELIM " ,.!?\n\t" #define WORDSIZ 20 void...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru