汇编学习笔记-一段安全的空间及段前缀的使用.

来源:互联网 发布:库控制软件 编辑:程序博客网 时间:2024/06/03 19:47

一般情况下,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

 

原创粉丝点击