作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想写一个小DOS程序(我的第一个),我有点缺乏经验。
对于该程序,我需要超过 64 KB 的(常规)内存。我怎样才能获得额外的内存?理想情况下,我希望程序有两个额外的 64k 内存块。我可以开始将数据写入地址空间的某个位置还是需要请求额外的内存?
最佳答案
在 DOS 下,是的,您可以开始使用另一段内存。但是,有一个重要的警告!
查看您正在使用的 DOS 版本的内存映射。您要确保您没有选择实际保留用于其他目的的内存区域。这是来自 Dr. Dobb's 的一个杂志:
Address (Hex) Memory Usage
0000:0000 Interupt vector table
0040:0000 ROM BIOS data area
0050:0000 DOS parameter area
0070:0000 IBMBIO.COM / IO.SYS *
mmmm:mmmm BMDOS.COM / MSDOS.SYS *
mmmm:mmmm CONFIG.SYS - specified information
(device drivers and internal buffers
mmmm:mmmm Resident COMMAND.COM
mmmm:mmmm Master environment
mmmm:mmmm Environment block #1
mmmm:mmmm Application program #1
. . . . . .
mmmm.mmmm Environment block #n
mmmm:mmmm Application #n
xxxx:xxxx Transient COMMAND.COM
A000:0000 Video buffers and ROM
FFFF:000F Top of 8086 / 88 address space
关于assembly - 如何在 DOS 中获得额外的段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37509294/
我是一名优秀的程序员,十分优秀!