Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Asm для начинающих > прерывания BIOS |
Автор: scuter 15.11.2011, 12:03 |
в BOIS-е, есть своё API которое даёт возможность работать с оборудованием, скажите а где можно достать полное описание этого API (т.е. прерывания) особо интересует такие прерывания, int 01h ;Пошаговый режим (отладка) int 08h ;Таймер (IRQ0) int 09h ;Клавиатура (IRQ1) int 11h ;Список оборудования int 16h ;Клавиатурный ввод/вывод int 1Ah ;Системное время int 41h ;Параметры жёсткого диска 0 int 46h ;Параметры жёсткого диска 1 int 44h ;Nowell Netware API int 4Ah ;Будильник пользователя |
Автор: 500mhz 15.11.2011, 12:52 |
http://www.ctyme.com/intr/int.htm надеюсь вы собираетесь это использовать REAL MODE ? ))) |
Автор: iff 15.11.2011, 14:40 |
Кстате, некоторые прерывания работают только на определённыз компьютерах. Например, int 4Ah. |
Автор: iff 15.11.2011, 19:34 | ||||
Если установлен флаг TF, то после каждой инструкции вызывается это прерывание (ещё смотрите int 03h - оно тоже вызывается, но при этом ещё и при команде остановки (машинный код этой команды остановки - 0CCh)).
что за встроенный дебагер? куда он встроен? |
Автор: 500mhz 16.11.2011, 14:30 |
че там не понятного с INT 0х1 и INT 0x3 ? если флаг TF стоит то после каждой команды вызывается int 0x1, в стек заноситься AF и IP, TF сбрасываеться. INT 0x3 это breakpoint (точка останова) когда проц встречает 0xcc вызывается INT 0x3 в стеке опять же AF IP, TF сброшен , прерывания запрещены. а DR0-DR7 из другой оперы |
Автор: scuter 21.11.2011, 00:59 | ||||
и всё таки не понятно как запускать эту отладку ставить флаг TF или INT 0х1, INT 0x3 и если произошёл шаг отладки, как обработать результат выполнения комманды т.е. куда втыкать эту функцию или надо создавать прерывание(своё собственное) куда это дело втыкать
|
Автор: iff 21.11.2011, 12:18 | ||||||
Здесь есть неточности (выделили жирным). Итак: прерывание int 01h вызывается после каждой инструкции (за исключением инструкции int), если установлен флаг TF. Прерывание int 03 вызывается когда процессор видит инструкцию int 03 или 0CCh. Пример:
Можно проследить как выполняются инструкции
в получившемся дебаггере, и услышать звук ("пик") при исполнении команды 0CCh. |
Автор: 500mhz 21.11.2011, 15:18 |
iff и не лень тебе? )))) |
Автор: scuter 21.11.2011, 18:53 | ||
iff, не получается переделать код под FASM там процедуры он не переваривает
|
Автор: scuter 21.11.2011, 19:50 | ||
переделал код под FASM но он не работает экран просто чёрный
|
Автор: iff 21.11.2011, 20:48 |
ЗАЧЕМ??? имя файла после компиляции. com или exe? Добавлено через 1 минуту и 27 секунд Нам нужен адрес, а не значение по этому адресу! |
Автор: scuter 21.11.2011, 21:29 | ||
имя файла com подправил код всё равно не работает. всё равно не хочет работать
Добавлено через 4 минуты и 14 секунд команда XLAT не работает в FASM |
Автор: iff 21.11.2011, 22:07 | ||||
???!!!
в качестве операнда нужно bx Если даже представить, что не работает - то используйте вставку машинного кода:
Изучайте fasm и переделывайте. |