sj小安 发表于 2011-5-19 22:49:30

新手第二章实验任务 求助~谢谢热心的人们

本帖最后由 loop 于 2011-5-29 23:29 编辑

刚学汇编··有很多不懂·~~~在实验一那遇到了问题··请教热心人帮助··谢谢···
汇编语言第二章·实验任务,
第二个实验   讲下面的3条指令写入从2000:0开始的内存单元中,利用这3条指令计算2的8次方
3条指令如下 :mov ax,1
                            add ax,ax
                            jmp 2000:0003
请问这个实验怎么操作····为啥么··能计算出2的8次方····新手不太明白···还望赐教··非常感谢····

王子 发表于 2011-5-19 22:59:58

我也是菜鸟,不过这样的问题自己解决不更好?
jmp 2000:0003 是死循环,用debug的T命令调试。
首先 2000:0001   mov ax,1    ax=1
      2000:0003add ax,ax   ax=1+1;
      2000:0005jmp 2000:0003跳转到上一句 偏移地址指向0003 这时候ax等于2,那么                        add ax,ax   ax=2+2
      这样重复ADD8次就可以了。

Y.H 发表于 2011-5-20 00:06:12

其实书中的意思应该是这样:因为一二章还没涉及到循环指令 而且它要求你进入DEBUG里单步执行 所以jmp 200:0003 只是让你自己计数并在每一步执行之后查看ax中的值是否等于256这个主要是让读者熟悉这些DEBUG命令 还有 前面所讲解的内容…………(自己的见解)

bevin 发表于 2011-5-20 00:31:47

用jmp循环执行自加指令。 就是add ax,ax,这个指令相当于每次让AX变为原来的两倍,而二的八次方就是把2七次变为自己的两倍,所以就算出来了二的八次方。{:5_92:}

sj小安 发表于 2011-5-20 08:16:06

回复 王子 的帖子

理解了··谢谢帮助·!~:P ~

sj小安 发表于 2011-5-20 08:16:44

回复 Y.H 的帖子

理解了·谢谢帮助·~~:P

sj小安 发表于 2011-5-20 08:17:38

回复 bevin 的帖子

非常感谢!!~:P ~

loop 发表于 2011-5-20 23:54:57

sj小安 发表于 2011-5-20 08:17 static/image/common/back.gif
回复 bevin 的帖子

非常感谢!!~ ~

如果问题已解决,请主动结贴。谢谢!~

sj小安 发表于 2011-5-21 10:07:09

回复 loop 的帖子

结贴·怎么结··我新手麻烦告诉下··

loop 发表于 2011-5-21 12:17:33

本帖最后由 loop 于 2011-5-21 12:18 编辑

回复 sj小安 的帖子
先编辑帖子,在主题分类里选择已解决。
如下图:
http://bbs.fishc.com/data/attachment/album/201105/21/121717mm6dxe0h49xqet3c.png

sj小安 发表于 2011-5-23 10:39:24

回复 loop 的帖子

ok~~知道了·谢谢!~
页: [1]
查看完整版本: 新手第二章实验任务 求助~谢谢热心的人们