- 9
- 0
- 约1.48万字
- 约 104页
- 2017-06-04 发布于四川
- 举报
5.7 一段安全的空间 不过为了谨慎起见,在进入DOS后,我们可以先用Debug 查看一下,如果0:200~0:2FF单元的内容都是0的话,则证明DOS 和其他合法的程序没有使用这里。 为什么DOS和其他合法的程序一般都不会使用0:200~0:2FF这段空间?我们将在以后的课程中讨论这个问题。 5.7 一段安全的空间 好了,我们总结一下: (1)我们需要直接向一段内存中写入内容; (2)这段内存空间不应存放系统或其他程序的数据或代码,否则写入操作很可能引发错误。 (3)DOS方式下,一般情况, 0:200~0:2FF 空间中没有系统或其他程序的数据或代码; (4)以后,我们需要直接向一段内存中写入内容时,就使用0:200~0:2FF这段空间。 5.8 段前缀的使用 我们考虑一个问题: 将内存ffff:0~ffff:b段元中的数据拷贝到 0:200~0:20b单元中。 分析一下 程序代码 改进的程序代码 5.8 段前缀的使用 分析一下: (1) 0:200~0:20b单元等同于0020:0~0020:b单元,它们描述的是同一段内存空间: (2)拷贝的过程应用循环实现,简要描述如下: 初始化:X=0 循环12次: 将ffff:X单元中的数据送入0020:X(需要用一个寄存器中转)
原创力文档

文档评论(0)