. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->建议及意见
主题 : :  建议修正概念说明  [待解决] 回复[ 5次 ]   点击[ 703次 ]  
theguiking
[帖 主] [ 发表时间:2009-01-08 21:06 ] 
荣誉值:0
信誉值:1
注册日期:2008-12-16 19:25
书上说:在任何时候,CPU将CS、IP中的内容当作指令的段地址和偏移地址,用他们合成指令的物理地址,到内存中读取指令码。

可是在处理
jmp 寄存器
等跳转指令的时候,这里就不成立了。因为CPU在指令尚未执行的时候就修改CS、IP的值,这样就有可能指向一个不是指令的存放数据的单元。

建议:语句中增加限制,以更加准确的方式表述。
younggay
[第1楼] [ 回复时间:2009-01-09 12:53 ] 
荣誉值:273
信誉值:0
注册日期:2008-01-23 20:23
是楼主的理解有问题,书上的说法没有任何问题。
cs,ip在读入指令后,就会根据此指令占的字节数,指向接下来的指令,到底执行不执行读取接下来的指令,还要看此时读入的执行的性质,如果是跳转语句,则会再次在此跳转语句的执行过程中修改cs,ip,那么到底执行不执行预定的下一跳指令,还需要看前一条指令的操作性质。

楼主说的情况是程序或逻辑出错了才会发生,跟知识的本质不是一个讨论层次。
需要登录后才能回帖 -->> 请单击此处登录
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved