|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 红烧甲鱼 于 2018-9-17 21:27 编辑
关于实验4的第三题,看了这个题后一脸懵逼,虽然找到了答案但是也是看得云山雾绕的,我想彻底搞清来龙去脉,还请个位大神仔细帮我解释一下,万分感谢
下面的程序的功能是将“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 ends
end
提示:
(1)复制的是什么?从哪里到哪里?
(2)复制的是什么?有多少个字节?你如何知道要复制的字节的数量?
第一空:cs或者code;第二空:17h。
(1)复制的是什么?从哪里到哪里?
在内存中的指令实际上是以二进制数的形式存放的,因此复制的是数据,从cs:0000-cs:0017h复制到0000:0200-0000:0217
(2)该程序一共多少个字节?你是如何知道要复制的字节的数量?
该程序一共有28个字节。先任意给定cx一个值,用A命令将”mov ax,4c00h”之前的指令写入到内存中,loop指令的下一条指令的地址的值,即为cx应该赋予的值。
|
|