[bx]和[0]一样同样表示一个内存单元,它的偏移地址在bx中。
loop英文单词“循环”的意思,显然这个指令和循环有关。
[bx]
下面这条指令:
mov ax , [bx]
功能:bx中存放的数据作为一个偏移地址EA,段地址SA默认在ds中,将SA:EA处的数据送入ax中。即:(ax)= ((ds)* 16 + (bx))
指令:
mov [bx],ax
功能:bx中存放的数据作为一个偏移地址EA,段地址SA默认在ds中,将ax中的数据送入内存SA:EA中,即((ds)* 16 + (bx))= (ax)。
loop指令:
loop指令的格式是:loop标号,CPU执行loop指令的时候,要进行两步操作。
(1)(cx)= (cx)- 1
(2)判断cx中的值,不为零则转至标号处执行程序,如果为零则向下执行。
段前缀:
指令“mov ax , [bx]”中,内存单元的偏移地址由bx给出,而段地址默认在ds中。我们可以在访问内存单元的时候显式地给出内存单元的段地址所在的寄存器。
例如:
mov ax,ds:[bx]
mov ax,cs:[bx]
mov ax,ss:[bx]
mov ax,es:[bx]
mov ax:ss:[0]
mov ax,cs:[0]