BIOS INT 0x15 Функция 0x88 всегда возвращает один и тот же объем памяти - PullRequest
0 голосов
/ 27 ноября 2009

Я использую BIOS int 0x15 на моем эмуляторе Bochs, однако это всегда возвращает один и тот же размер памяти (34440) независимо от того, что я настроил:

mov ax, 0x88
int 0x15

Я знаю, что существуют лучшие методы обнаружения памяти, но я хотел понять, почему это не сработало, как ожидалось (на всякий случай, если что-то я и сделал)

Почему это? Является ли биос bochs жестко запрограммированным для возврата этого значения?

Ответы [ 2 ]

3 голосов
/ 02 января 2010

вы можете попробовать проверить INT 15h, AX = E820h - Карта адресов системы запросов как bochs INT15 / E820 обеспечивает BIOS физическая карта ОЗУ

Получить расширенный объем памяти

mov ah,88h
int 15h
2 голосов
/ 14 февраля 2011

Возвращаемое значение (AX = 34440) равно AH=86H and AL=88H. Это не объем памяти. Могу поспорить, вы также видите, что флаг переноса возвращается, указывая на ошибку. Код ошибки 86H (в AH) означает, что функция не поддерживается. Возможно, вы преднамеренно или непреднамеренно настроили Bochs для эмуляции компьютера до AT.

...