鱼C论坛

 找回密码
 立即注册
查看: 4065|回复: 11

求汇编实验四的详解

[复制链接]
发表于 2012-2-29 18:11:59 | 显示全部楼层 |阅读模式
1鱼币
昨天自己做完实验四之后看了甲鱼哥的答案就迷茫了,
解说我也不是听的很懂,大家帮帮忙我新手!
谢了

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-2-29 20:59:43 | 显示全部楼层
最少发个代码 注释下不懂的地方阿!~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2012-2-29 22:20:27 | 显示全部楼层
实验四的(1)看答案应该能懂
(2)的题目是向内存0:200~0:23F依次传送数据0~63(3FH),它简化的原理是利用了所传输的数据是从0开始的,而内存地址的偏移量也是从0开始的,利用这一点,答案便将bl当做一个技计数器来使用,即用来完成地址和数据同时递增的功能,而(1)中用dl完成数据的递增,即0~63,而bx用来地址偏移量的递增
(3)中我刚学到这时也看不懂,只要你学完下一章就懂了,因为题目的要求是把代码段内的指令当做数据,而代码必然存储在code段中(相当于引用),所以填code是最标准的。下一空填写的是循环次数,既然是将代码复制,且当做数据来使用,那么循环次数就应该=所移指令的字节数,指令字节数确定方法为:程序编译连接后debug,DEBUG时我们可用R命令查看CX的值,这时我们可以看到CX的值为1D,由此我们可以算出该程序的长度[1Dh-5h]=18h,之所以减5是为了满足题目的要求(因为mov ax,4c00h/int 21h这两条指令的长度等于5)[cx的值即为指令字节数】
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2012-2-29 22:54:00 | 显示全部楼层
提问要有提问的态度,楼主哪里不懂至少应该说明一下,也好大家一起努力来解决问题……
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2012-3-5 00:04:37 | 显示全部楼层
没学下一章,看题很迷糊,但是看了答案分析就有思路了。题目说的是mov ax 4c00h之前的指令复制。这个指令就是我们编写的“程序”代码。因为在cpu眼中指令或数据都是0101010,换成16进制就是咱们所学的内存地址里的16进制数。在之前的课程中学过,debug中用-e:1000:0 11 22 33 44·········的方式修改内存数据,进行汇编,用-u:1000:0 f这样的方式就可以查看到对应的机器码,也就是汇编代码。他们就是咱们写的“程序”代码。这说明汇编指令可以当做数据写入内存的。这些“程序”代码开头被命名为code,第一个mov ax,code ,表示将指令作为数据赋予ax中。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2012-3-5 00:27:13 | 显示全部楼层
第二个空位,{mov cx,x}用来限定loop的循环次数,最小当然是1不然没意义。最大看loop里的指令
mov al,【bx】。 al最多能被赋予多少个数值呢?一个低8位,最大就是ff咯。所以这个mov cx,x指令x的数值就在1——ff之间随便选取一个咯。选多少随便你,程序补充完全,就可以进行编译了。编译完成后debug一下这个程序进行跟踪。答案里写的看cx的数值,但是我不是。因为题目说的是mov ax,4c00h之前,那么只要调试到它之前一步就可以了,这时候看下ip的数值是多少?是不是18.ip移动18说明这个程序代码的长度就是18.如果不理解你可以 用命令-u cs:0 18就会发现这18个字节里就是你编写的机器码。说明这些机器码的长度就是18.   你在用命令-d cs:0 18就能看到这18个字节里的对应的内存地址数据。一共18个内存数据,当然要mov al,【bx】 18次了。所以mov cx,x里的x为18。 通过这些就能看明白,答案分析里的ds和cs一样,就是说cs代码段,在内存地址中,也是数据的意思。ds是数据段,自然也是数据。后面的课程还没有看,不知道我说的对错呢,交流思考就是学习。一起努力吧。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2012-3-6 13:19:55 | 显示全部楼层
我也刚碰到这个问题, 来学习了,  谢谢大家的解答, 看了之后了解了!!!:D
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2012-10-1 17:49:34 | 显示全部楼层
{:1_1:}笑笑大家的解答,虽然还是一知半解的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2012-11-3 22:05:00 | 显示全部楼层

看了第一句话就匆匆跑去 看第六章,结果6.1测试果断回来- -
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2012-11-3 22:29:48 | 显示全部楼层
゛゛不过如此. 发表于 2012-11-3 22:05
看了第一句话就匆匆跑去 看第六章,结果6.1测试果断回来- -

我这……差不多都忘光了……你没明白那里,说清楚点~~~~~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2012-11-20 15:48:40 | 显示全部楼层
manman xue学习一下 没弄太懂
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-12-31 11:57:55 | 显示全部楼层
学习学习
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-19 18:45

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表