Поиск:

Ответ в темуСоздание новой темы Создание опроса
> установка графического режима, экран не очищается 
:(
    Опции темы
Frekenbok
Дата 8.1.2007, 16:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 51
Регистрация: 29.10.2006

Репутация: нет
Всего: 1



Привет всем!
Не получается установить видеорежим. Если выполнять пошагово, то после установки видеорежима на экране появляются какие-то красные точки, похожие на помехи. Само тело программы из книги Абеля. Вот описание задачи:
"Программа использует команду  INT  10H  для установки графического режима, выбора зеленого  фона  и  вывода  на  экран точек (40 строк  по  320  столбцов).  В  программе  происходит  увеличение значения цвета на 1  для  каждой  строки.  Так  как  в  определении  цвета участвуют только три правых бита,  цвета  повторяются  через  каждые  семь строк."
Пробовала устанавливать разные значения для видеорежимов (в AL), но получается примерно похожая ерунда.
Код

.8086
.model small
.data 
.code
start:
 mov ax, @data
 mov ds, ax
 int 11h
 MOV     Ah,00h           ;Установка режима графики
        MOV     AL,10H          ; для EGA
        int 10h
        MOV     AH,0DH          ;Установить палитру
        MOV     BH,00           ;Фон
        MOV     BL,02           ;Зеленый
        INT     10H
        MOV     BX,00           ;Начальные цвет,
        MOV     CX,00           ; столбец
        MOV     DX,00           ; и строка
A50:
        MOV     AH,0CH          ;Функция вывода точки
        MOV     AL,BL           ;Установить цвет
        INT     10H             ;BX, CX, и DX сохраняются
        INC     CX              ;Увеличить столбец
        CMP     CX,320          ;Столбец 320?
        JNE     A50             ; нет - цикл,
        MOV     CX,00           ; да - сбросить столбец
        INC     BL              ;Изменить цвет
        INC     DX              ;Увеличить строку
        CMP     DX,40           ;Строка 40?
        JNE     A50             
mov ax, 4c00h
 int 21h 
end start
end


PM MAIL   Вверх
anwe
Дата 8.1.2007, 21:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 748
Регистрация: 2.9.2006

Репутация: 8
Всего: 23



Во-первых, не понятно как вообще линкуется без ошибки и без этой строки:
Код

.stack ???
Во-вторых, какой зеленый цвет, если функция 0DH считывает точку с экрана.
И еще, посмотри сюда:
Код

        MOV     BL,02           ;Зеленый
...
        MOV     BX,00           ;Начальные цвет,
...
        MOV     AL,BL           ;Установить цвет
у тебя цвет теряется.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Asm для начинающих"
MAKCim
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой КОД.
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim.

 
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Asm для начинающих | Следующая тема »


 




[ Время генерации скрипта: 0.0391 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.