一、[BX]
1.mov ax, [bx]
功能:bx中存放的数据作为一个偏移地址EA,段地址SA默认在ds中,将SA:EA处的数据送入ax中。即:(ax)=((ds)*16+(bx))
2.mov [bx], ax
功能:bx中存放的bx中存放的数据作为一个偏移地址EA,段地址SA默认在ds中,将ax处的数据送入SA:EA中。
二、Loop指令
1.Loop指令执行时进行两步操作
(1). (cx) = (cx) - 1;
(2).判断cx中的值,不为零则转至标号s处执行循环程序,如果为零则向下执行。
assume cs:code
code segment
mov ax,2
mov cx,11
s: add ax,ax
loop s
mov ax,4c00h
int 21h
code ends
end
程序中的标号s代表一个地址
三、 注意事项
1.在汇编程序中,数据不能以字母开头,要在前面加0
例如: mov ax,0ffffh
2.在编译器masm中,编译器将[idata]解释为 idata,若想将其当成内存单元存入
有两种方式:
(1)"[ ]"里用寄存器,比如bx;如:mov al,[bx] 或者 mov al,ds:[bx]
(2)"[ ]"的前面显式地给出段地址所在的段寄存器 如:mov al,ds:[0]