Use the string transfer command to copy the last 16 characters in the F000H segment to the data segment.

;用串传送指令,将F000H段中的最后16个字符复制到data段中。
;思路:将ds:si指向F000H段的最后一个单元,将es:di指向data段中的最后一个单元,
;将es:di指向data段中的最后一个单元,然后逆向(即从高地址向低地址)传送16个字节即可。
assume cs:code

data segment
	db 16 dup (0)
data ends

code segment
start:	mov ax, 0f000H
		mov ds, ax
		mov si, 0ffffH		;ds:si指向f000:ffff
		mov ax, data
		mov es, ax
		mov di, 15			;es:di指向data:15
		mov cx, 16			;(cx)=16, rep循环16次
		
		std					;设置DF=1,逆向传送
		rep movsb
		
		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/105426962