转自
http://www.henghome.com/archives/410
1.编程,想内存0:200~0:23f依次传送数据0~63(3fh).
?
assume cs:codesgcodesg segment mov ax,20h mov ds,ax mov bx,00 mov cx,3fh s:mov ds:[bx],bx inc bx loop s mov ax,4c00h int 21hcodesg endsend
?3:将“mov ax,4c00h”之前的指令复制到内存0:200处
assume cs:codecode segment mov ax,cs ; CS存储的是代码段地址 mov ds,ax mov ax,0020H mov es,ax ; 目标段地址存储在ES寄存器中 mov bx,0 mov cx,cx ; CX存放的是程序的长度 s:mov al,[bx] mov es:[bx],al inc bx loop smov ax,4C00Hint 21Hcode endsend???
?(1) 复制的是什么?从哪里到哪里?
?
答:复制的是代码的二进制数据,从CS:0到ES:0。
(2) 复制的是什么?有多少个字节?你如何知道要复制的字节的数量?
答:复制的是代码的二进制数据,有cx个字节,因为CX存放的是程序的长度。
?