| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Asm: Общие вопросы > по какому адресу на ходится видеопамять? |
| Автор: Dreamuchiy 22.2.2009, 22:38 |
| по какому адресу на ходится видеопамять? И как организовать обмен данными напрямую без всяких досов? Как управлять видеорежимами? |
| Автор: sgi1981 23.2.2009, 01:38 |
| В простом варианте доступна память в диапазоне адресов реального режима процессора по физическим адресам A0000...BFFFF. Непосредственное программирование через порты не рекомендуется. Лучше для этого использовать функции BIOS. Современные видеоконтроллеры занимают адресные пространства в других областях, например возможно по физическим адресам FD000000...FDFFFFFF, D0000000...DFFFFFFF, FA000000...FAFFFFFF. |
| Автор: Dreamuchiy 26.2.2009, 18:26 |
| А что если через порты? как узнать какие порты? и как с ними работать? |
| Автор: sgi1981 27.2.2009, 00:03 |
| Откройте "Диспетчер устройств". В дереве найдите ваш видеоконтроллер и посмотрите свойства, там ресурсы. В общем на каждое устройство предоставляется документация, только она может быть по разному доступна. Может производитель оборудования продает эту информацию за определенные деньги. |
| Автор: Mikl_ 27.2.2009, 04:42 | ||
Dreamuchiy, в WinXP обращение к портам только через драйвера в DOS программах запущенных под WinXP будет только эмуляция обращения к портам.
|
| Автор: Dreamuchiy 28.2.2009, 01:07 |
| мне нужна истина, а не эмуляция ! я пишу на асме стараясь избегать все что связано с microsoft и всем тем что закрывает прямой доступ к ресурсам компьютера. Можно подумать что на майрософте свет клином сошелся |
| Автор: Mikl_ 2.3.2009, 04:24 | ||
|
| Автор: dvamaster 3.4.2009, 06:47 |
| http://vesa.org/ качай мануалы (жаль по-англицки), там все подробненько про защищенный режим тоже |
| Автор: 222 15.5.2009, 18:59 |
| Dreamuchiy (цитата): мне нужна истина, а не эмуляция ! я пишу на асме стараясь избегать все что связано с microsoft и всем тем что закрывает прямой доступ к ресурсам компьютера. Можно подумать что на майрософте свет клином сошелся. ----- Может быть, ты это имел в виду: MOV AX,13 (13 - номер графического режима 320х200 точек, 248 цветов) INT 10 (включаем видеорежим) MOV AX,A000 (адрес сегмента видеопамяти, то есть А000:0000 - адрес верхней левой точки) MOV ES,AX (грузим в ES) MOV SI,0 (в SI - координата точки) ES: MOV BYTE[SI],2 (пишем туда 2 - зелёная точка) INC SI (переход к следующей) ES: MOV WORD[SI], 407 (затем рисуем серую и красную...) MOV AH,10 INT 16 (пауза. Смотрим, что получилось) INT 20 (выход) ----- Я это сам искал лет 10 назад (пока не прочитал команды INT 10). [/code] |