NBeeeeee
发表于 2015-10-24 22:05:37
本帖最后由 NBeeeeee 于 2018-6-12 15:52 编辑
。。
NBeeeeee
发表于 2015-10-24 22:06:23
本帖最后由 NBeeeeee 于 2018-6-12 15:52 编辑
。。
NBeeeeee
发表于 2015-10-24 22:07:10
本帖最后由 NBeeeeee 于 2018-6-12 15:51 编辑
。
qzq
发表于 2015-11-23 00:03:43
楼主,一开始cx=1c这个是怎么算出来的:dizzy:
dps521
发表于 2015-11-24 11:44:18
过来 看一看 呵呵。
jianqiumy
发表于 2016-1-11 01:36:42
我一直不理解为是mov ax,cs而不是其它XS,
现在明白了~~~辛苦了,谢谢
four
发表于 2016-1-13 13:28:11
半个小时总算是弄明白了:
1,此题与其他问题无关;
2,此题问的是‘把任意一段源码中mov ax,4c00h之前的汇编指令转化成机器指令的代码’复制到0:200地址处,并依次存储
既然是汇编转机器指令的复制,且又是往内存存储,就需要cs=ds,且要以cs的段地址为基础,那就成了段寄存器与段寄存器之间的转移、复制了。段地址需要一个通用寄存器来转,而内存的内容需要一个段寄存器的段地址:偏移地址来转,s:之前的无非就是ds和cs的段地址的转化、定义一个段寄存器的段地址、再给一个通用寄存器赋初值(内存的偏移需要)、计算循环次数并赋给cx寄存器;
不知道s:中的mov al,与mov es:,al 能否合成一句 mov es:,ds: 这样能节省(cx)步执行;
l13127131w
发表于 2016-3-5 15:58:18
智商不够都没搞明白问的是什么,只能先看答案再思考了。谢谢楼主了!
燕子湖畔
发表于 2016-3-7 14:16:10
qzq 发表于 2015-11-23 00:03
楼主,一开始cx=1c这个是怎么算出来的:dizzy:
程序运行前 CX寄存器中存的是程序的大小
说实话,我真不知道指令占的字节大小,所以它那个减法的还靠谱些
風灬虚幻
发表于 2016-3-10 21:40:55
顶
缌唸
发表于 2016-3-10 22:00:47
燕子湖畔 发表于 2016-3-7 14:16
程序运行前 CX寄存器中存的是程序的大小
说实话,我真不知道指令占的字节大小,所以它那个减法的还靠谱 ...
嗯嗯,是的,谢谢你的回答,帖子好久了,好多人都没回,最近又开始重新学习汇编了,一起加油啦!{:5_109:}
缌唸
发表于 2016-3-10 22:01:32
燕子湖畔 发表于 2016-3-7 14:16
程序运行前 CX寄存器中存的是程序的大小
说实话,我真不知道指令占的字节大小,所以它那个减法的还靠谱 ...
嗯嗯,是的,谢谢你的回答,帖子好久了,好多人都没回,最近又开始重新学习汇编了,一起加油啦!
缌唸
发表于 2016-3-10 22:02:37
風灬虚幻 发表于 2016-3-10 21:40
顶
谢谢拉
兰陵月
发表于 2016-3-16 12:53:09
qzq 发表于 2015-11-23 00:03
楼主,一开始cx=1c这个是怎么算出来的:dizzy:
mov 寄存器和立即数是三个字节,mov寄存器和寄存器是两个字节,inc寄存器是两个字节,loop s是两个字节,这样去算吧,加起来就是17.
兰陵月
发表于 2016-3-16 12:55:02
subCX,5不一定会正确,此题正确是因为只有一个段,如果有多个段,CX的结果就不一定正确了。
所以书中“CX存放程序的长度”应该改为只有一个段时程序的长度。
我记得坛子里有帖子说明过这个事情。
缌唸
发表于 2016-3-16 15:28:02
兰陵月 发表于 2016-3-16 12:55
subCX,5不一定会正确,此题正确是因为只有一个段,如果有多个段,CX的结果就不一定正确了。
所以书中 ...
嗯嗯,但这个题程序很短,肯定没超,所以是没问题的
huhaijun5
发表于 2016-5-7 11:44:29
终于在这里看到了
悠悠呦
发表于 2016-5-24 10:33:58
我想问一下,为什么我用Masm for Windows集成实验环境,然后什么也不写,代码段只有MOV AH 4CH 和 INC 21H两行代码,调试时会显示CX=5?
悠悠呦
发表于 2016-5-24 10:35:50
找到问题了 那个一开始初始化了三个段 ,看了36楼的回复知道了
1017276839
发表于 2016-7-25 23:05:28
这个答案却是在意料中,确也在情理之外,谁知道王爽的目的既然是要我们自己数字节数。我以为会有其他的奇技淫巧可以访问这个长度呢,看来是我多心了。