Поиск:

Ответ в темуСоздание новой темы Создание опроса
> символы в windows xp 
V
    Опции темы
ALEKSANDR0
Дата 26.9.2009, 00:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Прошу прощения что снова обращаюсь за помощью.
суть проблемы: в данной программе на экране должна появиться белая рожица на синем фоне.
в windows 98 всё работает, а в XP просто чёрный экран.
Код

CSEG segment
org 100h
_beg:
        mov ax,0B800h
        mov es,ax
        mov di,0

        mov ah,31
        mov al,1
        mov es:[di],ax

        mov ah,10h
        int 16h

        int 20h

CSEG ends
end _beg

подскажите пожалуйста, возможно ли сделать чтоб работало на XP?
сохраняю в кодировке DOC-866. ассемблирую в MASM 6.11
Заранее Спасибо1
PM MAIL   Вверх
Goodwin98
Дата 26.9.2009, 00:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Код

CSEG segment
org 100h
_beg:
    mov ax,03
    int 10h
        mov ax,0B800h
        mov es,ax
        mov di,0

        mov ah,31
        mov al,1
        mov es:[di],ax

        mov ah,10h
        int 16h

        int 20h

CSEG ends
end _beg

Вообще это установка видеорежима. По идее он 3-й и стоит, но для работы его нужно ставить принудительно
PM MAIL ICQ   Вверх
piritus
Дата 26.9.2009, 13:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Вобще желательно проверять видеорежим и установленную страницу:

Код

Proverka_video proc
    mov ah,0fh
    int 10h

Mode:
    cmp al,3
    je V_page
    
    mov ax,0003h
    int 10h
    
V_page:
    cmp bh,0
    je End_prov_vid
    
    mov ax,0500h
    int 10h
    
End_prov_vid:
    ret
Proverka_video endp

а в программе вызывать 
Код

call Proverka_video

--------------------
PM MAIL ICQ   Вверх
Goodwin98
Дата 26.9.2009, 15:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(piritus @  26.9.2009,  16:58 Найти цитируемый пост)
Вобще желательно проверять видеорежим и установленную страницу:


А смысл? В ХР такая особенность эмуляции, что перед работой с виделпамятью нужно установить видеорежим, даже несмотря на то, что такой стоит по умолчанию.

Это сообщение отредактировал(а) Goodwin98 - 26.9.2009, 15:18
PM MAIL ICQ   Вверх
ALEKSANDR0
Дата 26.9.2009, 16:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Всем БОЛЬШОЕ СПАСИБО за помощь!!!
заработало, когда добавил 
Код

    mov ax,03
    int 10h

Прошу прощения за беспокойство, просто когда начинаешь изучать и испытываешь на двух системах, то начинаешь теряться, а благодаря существовканию Вашего форума есть где спросить помощи smile 
PM MAIL   Вверх
piritus
Дата 26.9.2009, 17:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Цитата(Goodwin98 @  26.9.2009,  20:17 Найти цитируемый пост)
А смысл? В ХР такая особенность эмуляции, что перед работой с виделпамятью нужно установить видеорежим, даже несмотря на то, что такой стоит по умолчанию.


Имеется в виду не только видеорежим проверять/устанавливать, но и проверять текущую видео страницу, т.к. она не всегда может быть нулевой (некоторые программы ее меняют, но не возвращают обратно). Для этого нужно использовать функцию 05h с параметром 00h прерывания 10h

--------------------
PM MAIL ICQ   Вверх
airyashov
Дата 28.9.2009, 08:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



просто в xp консоль не есть DOS-эмуляция, помоему если вызывать command все ок


--------------------
icq:3(один)7748666
mail:airyashov( а )inbox.ru
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Asm для Windows/DOS"
MAKCim
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой КОД.
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

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

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


 




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


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

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