#bochs
#boch
Вопрос:
Я использую boch в качестве отладчика. Я использую команду «s» для пошагового выполнения своего кода. Однако моя проблема заключается в том, что всякий раз, когда приходит команда «int», она начинает выполнять пошаговое выполнение кода BIOS. Есть ли команда, которую я могу ввести, чтобы заставить ее пропустить весь код BIOS и вернуться к моему коду?
Ответ №1:
Я подписался на список рассылки bochs и отправил электронное письмо с моим вопросом. В электронном письме я получил ответ, что я должен использовать команду «b» для установки точки останова после инструкции «int», например:
b <address>
И затем я должен использовать команду «c» для продолжения до точки останова.
Теперь, чтобы выяснить, каков адрес инструкции после инструкции «int», я разобрал свой код с помощью ndisasm
и нашел инструкцию после инструкции «int»:
0000000A B40E mov ah,0xe
Затем я взял 0000000A
, добавил 0x7C00
к ней (потому что загрузочный файл загружается в память, начиная с 0x7C00
), и именно там я установил свою точку останова.