Use cld and rep movsb to transfer data in bytes

assume cs:code

data segment
	db 'Welcome to masm!'
	db 16 dup (0)
data ends

code segment
start:	mov ax, data
		mov ds, ax
		mov si, 0		;ds:si指向data:0
		mov es, ax
		mov di, 16		;es:di指向data:16
		mov cx, 16		;(cx)=16,rep循环16次
		
		cld				;设置DF=0,正向传送
		rep movsb		;movsb以字节传送数据,movsw以字型传送数据
		
		mov ax, 4C00H
		int 21H
code ends

end start
Published 76 original articles · praised 3 · visits 5596

Guess you like

Origin blog.csdn.net/qq_43071318/article/details/105426906