以下程序段展示了如何使用 8086 汇编语言实现数据块的传送:
MOV SI, OFFSET AREA1 ; 设置源地址指针
MOV DI, OFFSET AREA2 ; 设置目标地址指针
MOV CX, 100 ; 设置传送数据个数
AGAIN:
MOV AL, [SI] ; 读取源地址数据
MOV [DI], AL ; 将数据写入目标地址
INC SI ; 源地址指针递增
INC DI ; 目标地址指针递增
DEC CX ; 递减计数器
JNZ AGAIN ; 若计数器不为零,则跳转至 AGAIN 继续执行
程序首先初始化源地址指针 SI、目标地址指针 DI 以及数据个数 CX。
循环体部分,程序首先使用 MOV 指令将源地址数据读取到 AL 寄存器,然后将 AL 中的数据写入目标地址。接着,程序使用 INC 指令分别将源地址指针和目标地址指针递增,并使用 DEC 指令递减计数器。最后,程序使用 JNZ 指令判断计数器是否为零,若不为零,则跳转至 AGAIN 继续执行循环,否则结束程序。
暂无评论