第五章
[bx]
mov ax, [0] ;[0]为常量 对nasm来说
mov ax, ds:[0]
mov bx, 0
mov ax, [bx] ;将ds:bx处的内容赋值给ax
loop
通常使用loop进行循环,cx作为循环次数
计算2^12
assume cs:code
code segment
start:
mov ax, 2
mov cx, 11
s: add ax, ax
loop s
mov ax, 4c00H
int 21H
code ends
end start
mov ax, 0ffffh
在源程序中,数字不应已字母开头,所以多+0- 汇编赋值时,注意位数的不同可能会影响赋值结果
mov al, [bx] mov ah, 00
[bx]与loop的联合使用
将 ffff0~ffffb中的8位数据累加到dx
dx = dx + 8位数据dl = dl + 8位数据
解决:
mov dx, 0000H ;dx 作为最终结果
mov bx, 0000H ;bx 作为偏移变量
mov cx, 000bH ;cx loop变量
s: mov al, ds:[bx]
mov ah, 00H
add dx, ax
inc bx
loop s