. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
刷新 | 提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->寄存器(CPU工作原理)
  管理员: assembly   [回复本贴] [收藏本贴] [管理本贴] [关闭窗口]
主题 : :  问题2.3 不明白!  [待解决] 回复[ 2次 ]   点击[ 504次 ]  
327451977
[帖 主]   [ 发表时间:2008-12-07 22:00 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2008-11-14 12:24
书上对于ip值的变化的解释是在执行一条指令之后,ip值才改变。但是次序貌似应该是反过来的啊,即执行的同时ip也就改了。 
    不然在执行如jmp ax 的指令的时候,设这条指令对应的机器码位于0000:0002,ax=6.即ip=2,如果是执行后改ip,则ip就会直接变成ax的值,ip=6,但是事实上ip应该先变成4再变成6的啊! 
   请达人指教!
younggay
[第1楼]   [ 回复时间:2008-12-08 11:26 ]   [引用]   [回复]   [ top ] 
荣誉值:273
信誉值:0
注册日期:2008-01-23 20:23
ip的改变是发生在读取指令后的,然后才是执行指令。
这个知识点在书中的小结部分,有明确的说明,楼主看书要仔细。书中的每句话都有用的。
maodengqi
[第2楼]   [ 回复时间:2008-12-10 16:25 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2008-11-13 09:19
楼上是对的。和作检测点2.3 一样,正如楼主说的 设这条指令对应的机器码位于0000:0002,ax=6.即ip=2当读取指令后 这个时候ip=4,ip=6是执行完jmp ax这个指令后的事了,不知道我理解的对不对。
需要登录后才能回帖 -->> 请单击此处登录
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved