《汇编语言》第5章[bx]和loop指令.ppt

5.6 段前缀 这些出现在访问内存单元的指令中,用于显式地指明内存单元的段地址的“ds:”、“cs:”、“ss:”或“es:”,在汇编语言中称为段前缀。 5.7 一段安全的空间 在8086模式中,随意向一段内存空间写入内容是很危险的 ,因为这段空间中可能存放着重要的系统数据或代码。 比如下面的指令: mov ax,1000h mov ds,ax mov al,0 mov ds:[0],al 5.7 一段安全的空间 我们以前在Debug中,为了讲解上的方便,写过类似的指令。 但这种做法是不合理的 ,因为之前我们并没有论证过 1000:0中是否存放着重要的系统数据或代码。 如果1000:0中存放着重要的系统数据或代码,“mov ds:[0],al” 将其改写,将引发错误。 比如程序 5.7 一段安全的空间 上图是在Windows2000的DOS方式中,在Debug里执行“mov [0026],ax”的结果。如果在实模式(即纯DOS方式)下执行程序p7.exe,将会引起死机。 产生这种结果的原因是0:0026处存放着重要的系统数据,而“mov [0026],ax”将其改写。 5.7 一段安全的空间 可见,我们在不能确定一段内存空间中是否存放着重要的放据或代码的时候,不能随意向其中写入内

文档评论(0)

1亿VIP精品文档

相关文档