[BX]和[0]有些类似,[0]表示内存单元,它的偏移地址是0,同样[BX]也表示一个内存单元,它的偏移地址在BX中。
loop,英文单词“loop”有循环的含义,显然这个指令和循环有关。
我们约定符号idata表示常量,这里有一点需要注意的是不能将一个idata数据直接送入段寄存器中,这是非法操作,我们可以通过将idata数据先暂时放到通用寄存器中,然后再将通用寄存器中的数据mov到段寄存器中。
Debug和汇编编译器masm对指令不同处理:
Debug会将[idata]理解为偏移地址
masm会将[idata]理解为一个实际值idata
段前缀:
指令 mov ax,[bx]
内存单元的偏移地址由bx给出,而段地址默认在ds中,即 mov ax,ds:[bx]
这些出现在访问内存单元的指令中,用于显示地指明内存单元的段地址的“ds:”、“cs:”、“ss:”、“es:”,这些都称之为段前缀。
一段安全的空间:
在一般的PC机中,DOS方式下,DOS和其他合法程序一般都不会使用0:200~0:2ff的256个字节空间,所以,我们称这段空间是安全的。
段前缀的使用:
总结完毕!
本文出自 “凡凡不会玩” 博客,请务必保留此出处http://liaofan.blog.51cto.com/12295212/1917697
原文地址:http://liaofan.blog.51cto.com/12295212/1917697