BIOS int 0x15 함수 0x88은 항상 동일한 메모리 크기를 반환합니다.

StackOverflow https://stackoverflow.com/questions/1809856

  •  05-07-2019
  •  | 
  •  

문제

Bochs 에뮬레이터에서 BIOS int 0x15를 사용하고 있지만, 구성 한 내용에 관계없이 항상 동일한 메모리 크기 (34440)를 반환합니다.

mov ax, 0x88
int 0x15

더 나은 메모리 탐지 방법이 있다는 것을 알고 있지만 이것이 왜 예상대로 작동하지 않는지 이해하고 싶었습니다 (내가 짜는 일이있는 경우를 대비하여)

왜 이런거야? Bochs BIOS 가이 값을 반환하기 위해 하드 코딩 되었습니까?

도움이 되었습니까?

해결책

보고있는 반환 값 (AX = 34440)은 AH=86H and AL=88H. 메모리 크기가 아닙니다. 나는 또한 당신이 또한 캐리 플래그가 다시오고있는 것을보고있다. 오류 코드 86H (AH)는 함수가 지원되지 않았 음을 의미합니다. 의도적으로 또는 의도하지 않게 Pre-AT PC를 모방하기 위해 Bochs를 설정했을 수 있습니다.

다른 팁

확인하려고 할 수 있습니다int 15h, ax = e820h- 쿼리 시스템 주소 맵Bochs int15/e820 바이오스가 제공 한 물리적 램 맵

확장 메모리 크기를 얻습니다

mov ah,88h
int 15h
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top