Решено: Прямой доступ к видеопамяти (Ошибка при инициализации регистров)

Модератор: Модераторы разделов

Wolker
Сообщения: 121
ОС: Mops, Slackware 12, Debian 5

Решено: Прямой доступ к видеопамяти

Сообщение Wolker »

Господа!
Кто нибудь сталкивался с такой проблемой.
Необходимо получить прямой доступ к видеопамяти,
но при загрузке регистра es происходит ошибка сегментации.
В винде теже операции проходят на ура.
Код пишу на СИ с ассемблерными gas вставками:

Код:

asm("movw $0x0b800, %ax;" "movw %ax, %es;" "xorw %di, %di");

Почему не получается инициализировать регистр es значением 0b800
Спасибо сказали:
Аватара пользователя
Portnov
Модератор
Сообщения: 1786
Статус: Матёрый линуксоид
ОС: Debian testing/unstable

Re: Решено: Прямой доступ к видеопамяти

Сообщение Portnov »

Хе, вопрос только - почему это в виндах может работать :) Видимо, ваша программа (в виндах) запускается в режиме эмуляции DOS.

Почитайте хоть чего-нибудь про защищённый режим x86 :)
Работа: Ubuntu 9.10
Дом: Debian testing/unstable и на всякий случай winxp в virtualbox.
Для разнообразия: моя домашняя страница -http://iportnov.ru
Спасибо сказали:
Wolker
Сообщения: 121
ОС: Mops, Slackware 12, Debian 5

Re: Решено: Прямой доступ к видеопамяти

Сообщение Wolker »

Библиотека Curses самое оптимальное решение для создания консольной графики.
Ни чем не уступает досовскому прямому доступу к видео буферу.
А используемый синтаксис гораздо проще.
Топик можно закрывать.
Спасибо сказали: