Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.119.126.80] |
|
Сообщ.
#1
,
|
|
|
Всем привет,
документация по VESA говорит что при вызове функции 4f00h и передаче в di адреса буфера размером 512 байт по смещению 16h-19h и 1Ah-1Dh будут размещены дальние указатели на строки с названиями производителя видеокарты и названием самой карты. Что значит дальний указатель, как найти эти строки с названием если я работаю в защищенном режиме? Что будет если буфер будет 256 байт, а не 512? Документация стр. 28: http://www.petesqbsite.com/sections/tutorials/tuts/vbe3.pdf |
Сообщ.
#2
,
|
|
|
Цитата Это указатель из двух слов смещение затем сегмент.Что значит дальний указатель, Цитата Работайте в реальном режиме. как найти эти строки с названием если я работаю в защищенном режиме? Цитата Пока не попробуешь не узнаешь. Что будет если буфер будет 256 байт, а не 512? |
Сообщ.
#3
,
|
|
|
Цитата user7991 @ Что значит дальний указатель, как найти эти строки с названием если я работаю в защищенном режиме? Дальний указатель - сегмент+смещение. Если работаешь в защищённом режиме, то addr=seg*16+offset получишь линейный адрес. Если страничная адресация выключена - читаешь по этому адресу и всё (если есть права доступа к этим регионам, смотря как ты сегменты настроил), если есть страничная адресация - мапишь страницу на эти адреса и читаешь. Цитата user7991 @ Что будет если буфер будет 256 байт, а не 512? А ты сам-то как думаешь? )) BIOS'у фиолетово что ты там выделил - он пишет 512 байт и всё, если выделил меньше значит затрёт данные за буфером. А что при этом будет - да что угодно. А вообще в документе есть раздел VBE Far Pointers - там всё написано. И есть ещё такая штука - Protected Mode Entry Point. Если работаешь в защищённом режиме стоит разобраться, но она может не поддерживаться BIOS'ом. |