;用串传送指令,将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
Use the string transfer command to copy the last 16 characters in the F000H segment to the data segment.
Guess you like
Origin blog.csdn.net/qq_43071318/article/details/105426962
Recommended
Ranking