| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3439 人关注过本帖
标题:[求助]王爽《汇编语言》第五章实验四第3题!
只看楼主 加入收藏
skybluechen
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2007-8-2
收藏
 问题点数:0 回复次数:8 
[求助]王爽《汇编语言》第五章实验四第3题!

小弟刚开始学汇编,选用的是网上好评如中国人口般的王爽的《汇编语言》。目前,我看到第五章。在完成第五章实验4的第3题时,小弟遇到一些问题,望各位大侠救小弟脱离受疑惑困扰的苦海。跪谢!
首先,我们来看看题目的要求。请看附件图片王爽第五章实验4第3题。

图片附件: 游客没有浏览图片的权限,请 登录注册

接下来,我描述一下我解决问题的过程。
第一次,我所写的源代码如下:
assume cs:code
code segment
mov ax,code
mov ds,ax
mov ax,0020H
mov es,ax
mov bx,0
mov cx,cx
s: mov al,[bx]
mov es:[bx],al
inc bx
loop s
mov ax,4c00H
int 21H
code ends
end
第一空填入code是从网上看到的,我原本打算填入cs。第二空填入cx也是从网上看到。据网上说,这样可以通过编译和连接。接下来,利用DEBUG显示出程序在内存中的情况,然后,数出那段指令所占的字节数。最后,根据数得的字节数,修改cx的值。下面一幅图片显示的程序在内存中的情况:
图片附件: 游客没有浏览图片的权限,请 登录注册

从上图,我看到指令“mov ax,4c00H”在ds:0017处,于是我数得要求复制的指令所占的字节数为17H。
接下来,我将源代码修改为:
assume cs:code
code segment
mov ax,code
mov ds,ax
mov ax,0020H
mov es,ax
mov bx,0
mov cx,17H
s: mov al,[bx]
mov es:[bx],al
inc bx
loop s
mov ax,4c00H
int 21H
code ends
end
程序运行前,在DEBUG中使用U命令查看程序在内存中的情况,如下图:
图片附件: 游客没有浏览图片的权限,请 登录注册

程序运行后,在DEBUG中使用U命令查看复制结果,如下图:
图片附件: 游客没有浏览图片的权限,请 登录注册

为什么在复制的内容中,loop语句中跟原内容不一致呢?
接下来,我又将代码修改为如下:
assume cs:code
code segment
mov ax,cs
mov ds,ax
mov ax,0020H
mov es,ax
mov bx,0
mov cx,17H
s: mov al,[bx]
mov es:[bx],al
inc bx
loop s
mov ax,4c00H
int 21H
code ends
end
程序运行前,在DEBUG中使用U命令查看程序在内存中的情况,如下图:
图片附件: 游客没有浏览图片的权限,请 登录注册

程序运行后,在DEBUG中使用U命令查看复制结果,如下图:

图片附件: 游客没有浏览图片的权限,请 登录注册

为什么这一次,复制的结果又正确了呢?
请各位大侠指教!

[此贴子已经被作者于2007-8-3 0:34:10编辑过]



SWjhP7QU.jpg (67.47 KB)
图片附件: 游客没有浏览图片的权限,请 登录注册


IqNdGDw6.jpg (50.17 KB)
图片附件: 游客没有浏览图片的权限,请 登录注册
搜索更多相关主题的帖子: 王爽 汇编语言 源代码 mov 实验 
2007-08-02 00:58
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:0 
你注意一下指令的长度!

mov ax,code ;code是个立即数 占2字节

mov ax,cs ;这里少了一字节

值虽一样 长度不同

改法 就是多复制一字节

btw 这个也可以用 movsb 好象病毒里都是这么写的…………


偶也是菜鸟 对否 还请高人指点


2007-08-02 15:59
skybluechen
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2007-8-2
收藏
得分:0 
谢谢2楼的兄弟。
不过,看了你的解答,由于初学汇编,我现在还是不很明白。
我现在的想法是,当我把王爽的书看之后,肯定就会明白了。

不愿灵魂被屠杀; 不愿思想被强奸; 不愿生活被蹂躏;
2007-08-02 21:31
I喜欢c
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:64
帖 子:1749
专家分:0
注 册:2007-3-2
收藏
得分:0 

 我是指针,却丢失了目标地址!          我是循环,却缺少了结束条件!      我是函数,却没有人来调用!   
2007-08-03 12:07
skybluechen
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2007-8-2
收藏
得分:0 
以下是引用I喜欢c在2007-8-3 12:07:49的发言:

嘿嘿,版主也喜欢灌水吗?


不愿灵魂被屠杀; 不愿思想被强奸; 不愿生活被蹂躏;
2007-08-03 14:50
llxf
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2005-11-26
收藏
得分:0 

楼主想明白了么,为什么?
我还不明白呢


2007-09-30 15:12
ybdesire
Rank: 2
等 级:论坛游民
威 望:1
帖 子:49
专家分:10
注 册:2007-5-19
收藏
得分:0 
我开始用的是其他的书,难以入门
现在用的也是那本书,的确很好

有时候我也发现了类似的情况... ...
但我依稀记着在什么书上看到过"debug中的结果不能代表程序实际执行的结果"
不知是也不是,请高人回答
2007-09-30 15:34
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:0 
以下是引用ybdesire在2007-9-30 15:34:49的发言:
我开始用的是其他的书,难以入门
现在用的也是那本书,的确很好

有时候我也发现了类似的情况... ...
但我依稀记着在什么书上看到过"debug中的结果不能代表程序实际执行的结果"
不知是也不是,请高人回答

什么意思呢 偶也想知道

2007-09-30 22:36
xruanjian
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2010-1-10
收藏
得分:0 
17也错了吧,11h才对的呀
2011-10-14 13:28
快速回复:[求助]王爽《汇编语言》第五章实验四第3题!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.022434 second(s), 11 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved