[BX]:类似于[address]、[idata(代表常量)],表示偏移地址,段地址在ds中
mov ax,[bx] 将字单元内容送入ax中
mov al,[bx] 将字节单元内容送入al中
Loop指令:①sub cx,1 ②判断cx的值,不为零则转至标号处执行,为零则向下执行(即cx中存放循环次数)
注意:1、只能在cx中存放循环次数;
2、loop指令的标号所标识的地址要在前面;
3、要循环执行的程序段,要写在标号和loop指令的中间
补充:汇编源程序中,数据不能以字母开头,如A2h只能写作,0A2h
Debug命令补充:g命令:执行程序到当前代码段(可用于跳过循环)
P命令:可以将循环一次执行完
Debug和masm对指令的不同处理:
debug中mov al,[idata] 解释为mov al,ds:[idata]
masm中mov al,[idata] 解释为mov al,idata
故在masm中编译程序使用诸如[bx],[idata]等尽量携带段前缀,即ss:[idata],ds:[bx]
一段安全的编程区域:DOS方式下,DOS和其他合法程序一般不会使用0:200~0:2ff的256个字节空间,从而避免引发错误。