汇编语言的问题,有点难度哟

1编程,向内存0:200~0:23f依次传送数据0至63(3fh),程序只能使用9条指令,9条指令中包括:"mov ax,4c00h"和"int 21h".
2下面的程序的功能是将"mov ax,4c00h"之前的指令复制到内存0:200处,补全程序.
assume cs:code
code segment
mov ax,( )
mov ds,ax
mov ax,0020h
mov es,ax
mov cx,( )
mov bx,0
s: mov al,[bx]
mov es:[bx],al
inc bx
loop s
mov ax,4c00h
int 21h
code ends
end
请在括号内填写上合适的地址,并讲明为什么?
复制的是什么?从哪里到哪里?
复制的是什么?有多少个字节?你如何知道要复制的字节的数量?

1、编程,向内存0:200~0:23f依次传送数据0至63(3fh),程序只能使用9条指令,9条指令中包括:"mov ax,4c00h"和"int 21h"。
mov ax,20h
mov ds,ax
mov cx,40h
xor bx,bx
moving:mov [bx],bl
inc bx
loop moving
mov ax,4c00h
int 21h

2、下面的程序的功能是将"mov ax,4c00h"之前的指令复制到内存0:200处,补全程序.
assume cs:code
code segment
mov ax,(CS) ;因为要复制的内容是指令,所以,数据段应与代码段同段
mov ds,ax
mov ax,0020h
mov es,ax
mov cx,(17h) ;"mov ax,4c00h"之前的指令共23个字节
mov bx,0
s: mov al,[bx]
mov es:[bx],al
inc bx
loop s
mov ax,4c00h
int 21h
code ends
end
有多少个字节?你如何知道要复制的字节的数量
复制的内容有23个字节,各指令字节数之和,要求熟悉常用指令的字节数。
本题使用的是指令容量法。若允许修改原程序,建议使用标号法。

参考资料:http://zhidao.baidu.com/question/119665355.html

温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-10-15
mov ax,0
mov es,ax
mov di,200h
mov cx,3fh
loo_1:stosb
inc al
loop loo_1
mov ax,4c00h
int 21h
正好9条指令

assume cs:code
code segment
mov ax,(cs )
mov ds,ax
mov ax,0020h
mov es,ax
mov cx,(offset loc_1)
mov bx,0
s: mov al,[bx]
mov es:[bx],al
inc bx
loop s
loc_1:
mov ax,4c00h
int 21h
code ends
end
相似回答