利用循环复制内存中的数据(低效版本)


简介 :

将内存地址为 FFFF:0000 - FFFF:000F 的数据复制到内存地址为 0000:0200 - 0000:020F 的空间中

代码 :

assume cs:code

; 将内存地址为 FFFF:0000 - FFFF:000F 的数据复制到内存地址为 0000:0200 - 0000:020F 的空间中
; 注意 : 
;   为了能让偏移地址复用 , 需要将目标地址基址和偏移地址进行调整
;   调整为 : 0020:0000 - 0020:000F

code segment

    start:
        ; 设置数据段寄存器
        ;mov ax, 0FFFFH
        ;mov ds, ax
        ; 设置 bx , (数据偏移地址)
        ;mov bx, 0
        ; 设置循环初始条件 (设置循环次数)
        mov cx, 0008H
        
        myloop:
            mov ax, 0FFFFH
            mov ds, ax
            mov dx, [bx] ; 将内存中的数据读取到 dx 寄存器中
            mov ax, 0020H
            mov ds, ax
            mov [bx], dx
            add bx, 00002H
            loop myloop

    finish:
        mov ax, 4C00H
        int 21H

code ends

end start

你可能感兴趣的:(利用循环复制内存中的数据(低效版本))