Если раньше код по адресу 0xe8000

Цитата:

Этот фрагмент кода уже даже исполнялся несколько раз и все было нормально. Но незадолго до этого были в очередной раз исправлены значения в регистрах PAM. И сейчас сегмент 0xe8000 -указывает в DMI, т.е. на оригинальный код BIOS.

Если раньше код по адресу 0xe8000 исполнялся из RAM( распакованный original.tmp по адресам


0xE0000 - 0xFFFFF), то после изменения PAM по адресу 0xe8000(0xE000 : 0x8000) - содержимое
микросхемы BIOS(как Вы писали, там запакованный модуль). По моему изменение PAM
в данном случае недопустимо, тк приводит к бессмысленной передаче управления.

Довольно часто случается что диззасемблирование с неправильного адреса,
диззасемблирование данных как кода, диззасемблирование с неверным начальным
режимом описания сегмента(use16/use32) приводит к на первый взгдяд нормальным
командам. Но как правило рано или поздно попадаем на двоичные данные, которые
не могут быть диззасемблированы как команды или просто бессмысленым операциям.