Trending News
WINDOWS 2000 如何保留HIMEM?
在WIN98有 EMM386.EXE /X=E000-E7FF 可以使作業系統讓出640K~1M間的HIMEM.
但WINDOWS 2000 卻不管CONFIG.SYS內EMM386.EXE /X=nnnn-mmmm保留記憶體的指令.
Windows2000現在已經不需要用HIMEM,
但我有ADD ON CARD要BIOS or OS讓出一段HIMEM.
BIOS CHECK EXTEND ROM "55 AA ....."會讓出.
可是不同MB在CHECK EXTEND ROM 我的ADD ON CARD.
不一定100%讓BIOS CHECK 到.
所以想靠OS中的EMM386.EXE /X=nnnn-mmmm使作業系統讓出640K~1M間的HIMEM
謝謝你熱心回應﹕
那是一片data logger add on card收集數據放入himem ram 位置.
BIOS CHECK EXTEND ROM/RAM時若發現D000:0000 OR
E000:0000 DATA為"55 AA 80 ....."
會讓出D000 OR E000開始80H page=128*page=128*512=64K.
OS(win98,win2000...)會避開BIOS 偵測到保留的extend rom/ram.
當bios無法正確偵測而保留一塊himem時,
dos,win98所提供的emm386參數x=mmmm-nnnn就會讓出一塊himem。
2 Answers
- 2 decades agoFavorite Answer
W2K is not in real mode, that's why the emm386 is no longer working in W2K. You would only need emm386 for the real mode programs It would be better for you to get a new device driver. Search the web, you may find it.
If you tell us what kind of add on card is this one, we might be able to help you find the driver.
Segmented memory in real mode is actually only valid for 20-bit memory addressing for the 8088 processor. Intel was making the segment and the offset in such way that the software is treating it differently, but hard ware is seeing it the same. For example ffff:0000 = f000:fff0 = ff00:0ff0. When the newer processor that is using 32-bit addressing mode, this is no longer an issue, but for backward compatibility, intel still provide the microcode to support the real mode.
Well, I know this because I started to program when I was kid in elementary school.