[bx]

mov ax,[bx]

这个的意思是把ds:bx处的内容放入ax中

mov [bx],ax

这个的意思是把ax中的内容放入 地址ds:bx处

[bx+idata]

实际上还有更加灵活的方式指明内存地址,就是bx后加一个数据,这个数据可以是常数,也可以是变量

例 mov ax,ds:[bx+200],也可以直接写为ds:200[bx]

这种处理方式可以方便的处理数组

loop

格式:loop+标识符

执行过程:执行到loop时,先让cx-=1,再判断cx中的值,不为0则转至标号处继续执行,为0则进行下一步操作,寄存器cx用来储存循环次数

mov cx,3
mov ax,2
s: add ax,ax
  loop s

这段程序的作用是计算2的三次方,首先让循环次数为3,ax=2,再从s处开始循环,当cx=0时退出,即进行3次

用debug跟踪loop指令

tip:汇编程序中,数据不能以字母开头,所以如A231h等等前面都要加一个零

如果想直接结束循环可以用p命令,如果用t命令的话,只会结束这一次循环