[BX]和loop指令
[BX]:
[bx]同样也表示一个内存单元,它的偏移地址在bx中。
mov ax(字), [bx]
mov al(字节), [bx]
loop指令:
inc : 自增指令
loop:循环指令
eg:loop计算2的12次方:
(1)计算2的三次方:
assume cs:code
code segment
start:
mov ax, 2
add ax, ax (对2进行累加,2^3 = 2 * 2 * 2)
add ax, ax
mov ax, 4c00h
int 21H
code ends
end start
(2):使用loop计算
assume cs:code
code segment
start:
mov ax, 2
mov cx, 11
s: add ax, ax (S是标号,人为规定,到loop指令时,找到标号位置开始循环)
loop s
mov ax, 4c00h
int 21H
code ends
end start
CX: 存放循环次数;
loop指令中的标号所标识地址要在前面;
一段安全的空间:
在一般的PC机中,DOS方式下,DOS和其他的合法程序一般都不会使用
0:200~0:2FF(0:200h~0:FFh)的256个字节的空间,所以,我们使用
这段内存空间是安全的。
为了安全起见,在进入DOS命令时,进入debug状态下查看寄存器中的内容
以确保安全。