段前缀和一段安全的空间

什么是段前缀?

段前缀就是在访问内存单元的指令中,显式地指明内存单元的段地址的“ds:” “cs:” “ss:” “es:”

例如:

1、mov ax,ds:[bx]
2、mov ax,cs:[bx]
3、mov ax,ss:[bx]
4、mov ax,es:[bx]
5、mov ax,ss:[0]
6、mov ax,cs:[0]

一段安全的空间

在8086模式中,随意向一段内存空间写入内容是非常危险的,因为这段空间中可能存放着重要的系统数据或代码

因此,我们需要找到一段安全的空间来供我们使用。

在一般的PC机中,DOS方式下,DOS和其他合法的程序一般都不会使用0:200 ~ 0:0ff(00200h~002ffh)的256个字节的空间,所以这段空间是安全的

为了谨慎起见,我们可以在进入DOS后,先用Debug查看一下这段空间的内容是否都为0

段前缀的使用

比如需要把一个段空间的数据移到另一个段空间

我们一般使用es来存放目标空间的段地址,用ds存放源始空间的段地址

你可能感兴趣的:(汇编语言,后端)