1、向内存0:200~0:23F 依次传送数据0~63(3FH)
程序中只能使用9条指令包括 mov ax,4c00h int 21H下面两条返回指令
mov ax,20H
mov es,ax ;将ax中的数据存放在es段寄存器中
mov cx,64 ;循环执行64次
mov bx,0
ronin: ;loop指令取得名字,名字可以随便取,但是在实际编程中一定要取得意义
mov es:[bx],dl ;将bx数据,存放在es段寄存器中
inc bx ; bx加1操作
loop ronin ; loop循环指令
mov ax,4c00h
int 21H ;这两条指令是程序返回
-
2、将内存FFFF:0-FFFF:F内存单元中的数据复制到0:200~0:20F中
- 20H * 10 +偏移地址 =200
ds代表数据从哪里来 es就是数据到哪里去
mov ax,0FFFFH
mov ds,ax 数据从这里来
mov ax,20H
mov es,ax 数据到这里去
mov bx,0 偏移地址为0
mov cx,16 循环16次
ronin:
mov dl,ds:[bx]
mov es:[bx],dl dl是八位寄存器
inc bx
loop ronin
这个程序还可以简化,可以节省cpu的浪费
mov ax,0FFFFH
mov ds,ax 数据从这里来
mov ax,20H
mov es,ax 数据到这里去
mov bx,0 偏移地址为0
mov cx,8 循环8次
ronin:
mov dx,ds:[bx]
mov es:[bx],dx 将这里改成16位寄存器 就快了一倍的速度
add bx