Use el comando de transferencia de cadena para copiar los últimos 16 caracteres del segmento F000H al segmento de datos.

;用串传送指令,将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
Publicado 76 artículos originales · elogiado 3 · visitas 5596

Supongo que te gusta

Origin blog.csdn.net/qq_43071318/article/details/105426962
Recomendado
Clasificación