[bx]和loop
[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命令的话,只会结束这一次循环
All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.
Comment