一般情况下,0:200-0:2ff(00200h-002ffh)的256个字节空间.
如何将0fff:0-0fff:b单元中的数据的复制到0:200-0:20b 中.
0-b = 0-b 设置一个变量为bx
mov bx,0
mov cx,12 ;设置循环次数
s:mov ax,FFFFh ;此为字
mov ds,ax ; 设置段地址为FFFF 偏移地址默认为0
mov dl,[bx] ;访问内存单元bx中的内容 送入dl中,dl是字节 bx为偏移地址0,段地址ds FFFF 那么访问内存单元ffff:0中的内容,送入到 dl中.dl=ffff*16+0,dl存储着ffff:0的数据
;;数据要送入到00200:0中,那么首先设置段地址及偏移地址
mov ax,200h
mov ds,ax ;此时段地址为00200h
mov [bx],dl 内存单元bx 则是00200h*16+bx ,dl则存放着ffff:0中的数据,
inc bx
loop s
源目标单元ffff:x和目标单元0020:x 相距大于64kb.在不同的64kb段里,以上程序
有两个mov ds,ax 则每循环一次都要进行一次计算.
mov ax,ffffh
mov ds,ax
mov ax,0020h
mov es,ax
mov cx,12
s:mov dl,[bx]
mov es:[bx],dl ;其实就是指明段前缀[段地址],进行区别/
inc bx
loop s