如何将程序1“mov ax,4c00h”之前的指令复制到内存0:200处----出自王爽《汇编语言》一书的问题
下面的程序功能是将程序1“mov ax,4c00h”之前的指令复制到内存0:200处求问:
补全程序?并问复制的是什么?从哪里到哪里?有多少个字节?如何知道要复制
的字节的数量?
assume cs:code
code segment
mov ax,___
mov ds,ax
mov ax,0020h
mov es,ax
mov bx,0
mov cx,___
s:mov al,[bx]
mov es:[bx],al
inc bx
loop s
mov ax,4c00h
int 21h
code segment
end
程序1:
;本程序用于向内存0:200-0:23F依次传送数据0-63(3FH)
assume cs:code
code segment
mov ax,0
mov ds,ax
mov bx,200h
mov dx,0
mov cx,40h
s:mov ds:[bx],dx
inc dx
inc bx
loop s
mov ax,4c00h
int 21h
code ends
end
问题点数:0、回复次数:8Top
1 楼mydo(侯佩|hopy|ks)回复于 2005-06-04 15:47:40 得分 0
是从 s 处复制么?
assume cs:code
code segment
start:
mov ax,code
mov ds,ax
mov ax,0020h
mov es,ax
mov bx,0
mov cx,offset s
s: mov al,[bx]
mov es:[bx],al
inc bx
loop s
mov ax,4c00h
int 21h
code ends
end startTop
2 楼zhanghao16(玄冰)回复于 2005-08-09 16:57:23 得分 0
郁闷。。。这样也可以啊???mov cx,offset s能行吗?Top
3 楼chenggongkou(我的梦)回复于 2005-08-10 05:48:40 得分 0
mov cx,cx
Top
4 楼chenggongkou(我的梦)回复于 2005-08-10 05:50:10 得分 0
还少了一句其实,在mov cx,cx之间还要让cx-5,因为mov ax,4c00h和int 21h占5个字节一共。
你可以调试一下。Top
5 楼chenggongkou(我的梦)回复于 2005-08-10 05:52:26 得分 0
我也是初学者,刚看这本书,咱们一起来学习吧,这样效果好。留个QQ楼主。Top
6 楼whclc918(无知四年的人)回复于 2005-08-10 10:04:44 得分 0
怎么知道一段代码占几个字节.Top
7 楼chenggongkou(我的梦)回复于 2005-08-10 18:00:17 得分 0
cx中存放的就是程序的长度。Top
8 楼clack234(Byron)回复于 2005-09-06 17:34:29 得分 0
第一条指令mov ax,code也可以换成mov ax, cs
呵呵Top




