作者coldcoldday (找到一份"对"的工作好难)
看板ASM
标题Re: [问题] 请问如何读写延伸记忆体呢??
时间Tue Jan 16 21:26:09 2007
感谢了...
不过我其实也是看太不懂 >< (真的是新到爆的手)
只是 之前我买了一本80x86组语的书来看
一本厚厚的
从头到尾都只有在做16位元控制(因为永远都AX,BX,CX,DX,.....)
而这种模式(传统)写出来的最多只能控制到FFFF(F)=1Mbit
那麽如果想要直接就对1M以上做读写呢?(用Debug或Debug32该怎麽看)
(写组语时该用什麽岔断,或指令,?)
.....
会问这些是因为我本身是在 Dram相关产业工作
也会接触到一些测记忆体有无坏bit的程式(Memtest +86,RST等等)
它们都可以直接在开机後纯DOS直接执行(16位元的环境吧)
那他们就可以直接Read-write 1M以上 memory啊???
所以很好奇它们怎麽写的...
纯粹失i一个初学者的角度问的
: 你说的很草率,你的OS是DOS还是Win32?
: 我想你会这麽问指的应该是DOS
: 这种范例不是贴个一两页就说的清楚的
: 几个方向给你去找罗
: 第一个是找XMS延伸记忆体的服务,以前DOS有个HIMEM.SYS
: 就是提供XMS的服务,好像叫做DPMI吧...忘了
: 这种XMS只能当BUFFER来COPY东西,不能直接使用
: 记忆体一样64K限制,所有直接动作必须在主记忆体完成
: 可以在真实模式下运作
: 再来是EMS扩充记忆体,再CONFIG.SYS中应该是EMM386.EXE
: 是使用虚拟记忆体分页技术,可以直接存取
: 一样是用在真实模式
: 最後是DOS Extender,例如DOS4GW,个人比较推荐PMODE/W
: 这个一样是透过DPMI去取得延伸记忆体
: 不同的是它可以直接存取延伸记忆体,没有64K限制
: 还可以自订CPU异常处理来做一些特异功能
: 内定使用32bit暂存器(eax...)
: 除此之外还有一条绝路,就是自己进入保护模式
: 这个我也不会(小时候没学好) Orz
: 如果你真的初学,就千万不要折磨自己了
: 现在也很难找的到人问,资料也不多
: 就算写出来,你还要有保护模式的DEBUGGER(以前Watcom C的不错)
: 剩下的去google看看吧...祝好运
--
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.109.224.122
1F:推 loveflames:我的书是从32位元教起... 01/17 12:38