汇编语言基础3
[BX] 和 loop 指令:
ds:段寄存器
首先例如:
mov ax,[0]
这句的意思是把cx:[0000]的内容移动到寄存器ax中。
[bx]同样也表示一个内存单元,它的偏移地址在bx处
mov ax,[bx]
将一个内存单元的内容送入AX,这个内存单元的长度为2字节(字单元),存放一个字节,偏移地址在bx中,段地址在ds.这样写会方便一点。
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 + (AX))
注意新增指令:
inc BX
功能:给BX 增加1
exp:
mov bx,1
inc bx
然后BX = 2
LOOP 指令:
这条指令就是表示循环的指令,其中循环计数器就是CX 寄存器,每次循环CX寄存器就减一。如果不为0那么就进行调转,执行循环语句,如果为0就不进行循环执行下一步的指令。
其中S来指示循环的语句
例如:
用加法计算123*236,将结果存AX中:
assume cs:code
code segment
mov ax,0
mov cx,123
S: add ax,236
loop s
mov ax,4c00h
int 21h
code ends
end
版权声明:本文为博主原创文章,未经博主允许不得转载。