На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Перед отправкой сообщения внимательно прочтите правила раздела!!!
1. Запрещается обсуждать написание вирусов, троянов и других вредоносных программ!
2. Помните, что у нас есть FAQ раздела Assembler и Полезные ссылки. Посмотрите, возможно, там уже имеется решение вашего вопроса.

3. Настоятельно рекомендуем обратить особое внимание на правила форума, которые нарушаются чаще всего:
  3.1. Заголовок темы должен кратко отражать её суть. Темы с заголовками типа "Срочно помогите!" или "Ассемблер" будут отправляться в Корзину для мусора.
  3.2. Исходники программ обязательно выделяйте тегами [code]...[/code] (одиночные инструкции можно не выделять).
  3.3. Нежелательно поднимать старые темы (не обновлявшиеся более года) без веской на то причины.

Не забывайте также про главные Правила форума!

Добро пожаловать и приятного вам общения!!! ;)
 
Модераторы: Jin X, Qraizer
  
> VESA 4f00h - как извлечь информацию из буфера?
    Всем привет,
    документация по VESA говорит что при вызове функции 4f00h и передаче в di адреса буфера размером 512 байт по смещению 16h-19h и 1Ah-1Dh будут размещены дальние указатели на строки с названиями производителя видеокарты и названием самой карты. Что значит дальний указатель, как найти эти строки с названием если я работаю в защищенном режиме? Что будет если буфер будет 256 байт, а не 512?
    Документация стр. 28:
    http://www.petesqbsite.com/sections/tutorials/tuts/vbe3.pdf
      Цитата
      Что значит дальний указатель,
      Это указатель из двух слов смещение затем сегмент.
      Цитата
      как найти эти строки с названием если я работаю в защищенном режиме?
      Работайте в реальном режиме. :popcorn:
      Цитата
      Что будет если буфер будет 256 байт, а не 512?
      Пока не попробуешь не узнаешь.
      Сообщение отредактировано: Pavia -
        Цитата user7991 @
        Что значит дальний указатель, как найти эти строки с названием если я работаю в защищенном режиме?

        Дальний указатель - сегмент+смещение.
        Если работаешь в защищённом режиме, то addr=seg*16+offset получишь линейный адрес.
        Если страничная адресация выключена - читаешь по этому адресу и всё (если есть права доступа к этим регионам, смотря как ты сегменты настроил), если есть страничная адресация - мапишь страницу на эти адреса и читаешь.

        Цитата user7991 @
        Что будет если буфер будет 256 байт, а не 512?

        А ты сам-то как думаешь? ))
        BIOS'у фиолетово что ты там выделил - он пишет 512 байт и всё, если выделил меньше значит затрёт данные за буфером.
        А что при этом будет - да что угодно.

        А вообще в документе есть раздел VBE Far Pointers - там всё написано.
        И есть ещё такая штука - Protected Mode Entry Point.
        Если работаешь в защищённом режиме стоит разобраться, но она может не поддерживаться BIOS'ом.
        0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
        0 пользователей:


        Рейтинг@Mail.ru
        [ Script execution time: 0,0739 ]   [ 16 queries used ]   [ Generated: 29.03.24, 01:00 GMT ]