Loop指令
1) 在cx中存放循环次数
2) loop指令中的标号所标识地址要在前面
3) 要循环执行的程序段,写在标号和loop指令的中间
即:
 mov cx,循环次数
   s: 循环执行的程序段
loop s

在Debug中跟踪用loop指令实现的循环程序

在汇编源程序中,数据不能以字母开头








Debug和汇编编译器masm对指令的不同处理

(1) 在汇编源程序中,如果用指令访问一个内存单元,则在指令中必须用“[…]”来表示内存单元,如果在“[  ]”利用一个常量idata直接给出内存单元的偏移地址,就要在“[  ]”的前面显式地给出段地址说在的段寄存器.
比如
mov al, ds:[0]
如果没有在“[  ]”前面显式地给出段地址所在段寄存器,比如
mov al,[0]
那么编译器masm将把指令中的“[idata]”解释为“idata”.
(2) 如果在“[  ]”里用寄存器,比如bx,间接给出内存单元的偏移地址,则段地址默认在ds中.当然,也可以显式地给出段地址所在的段寄存器.

段前缀

用于显式地指明内存单元的段地址的“ds:”“cs:”“ss:”“es:”,在汇编语言中称为段前缀.

一段安全的空间

DOS方式下,一般情况,0:200~0:2ff空间中没有系统或其他程序上的数据或代码.
打赏