汇编语言程序设计——循环结构例2

汇编语言程序设计——循环结构例2

设计目标

将数据段中的字符串 STRG1 传送到附加段的 STRG2 中。

设计思路

(1) 分别定义数据段 DATA 和附加段 EXTRA;

(2) 用 SI 保存源串 STRG1 的偏移地址,DI 保存目的串 STRG2 的偏移地址,传送个数由 CX 指出;

(3) 用 CLD 指令将方向标志 DF 清 0,以便从低地址单元开始取数;存储单元地址自动增加,取下一数;

(4) 用 REP MOVSB 指令实现串传送。

;6-2.asm  串传送
data segment
strg1  db  '1234567890'
data ends

extra segment
strg2  db 10 dup(?)
extra ends

code segment
assume cs:code,ds:data,es:extra
start:
	mov ax,data
	mov ds,ax
	mov ax,extra
	mov es,ax
	lea si,strg1       ;源串首地址
	lea di,strg2       ;目的串首地址
	cld                ;方向标志清0
	mov cx,10
	rep movsb          ;以字节形式重复传送CX次
	
	mov ah,4ch
	int 21h
code ends
end start

debug结果:

汇编语言程序设计——循环结构例2_第1张图片

你可能感兴趣的:(汇编语言)