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

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

建议:语句中增加限制,以更加准确的方式表述。
theguiking
[第5楼] [ 回复时间:2009-01-12 20:27 ] 
荣誉值:0
信誉值:1
注册日期:2008-12-16 19:25
可能你没明白我的初衷吧

我是建议让概念说得更准确

既然概念说的是 任何时候 ,那就包括了跳转语句“从这跳走了,就再也不回来”继续执行的情况,那跳走之前的cs:ip指向的内存空间是否一定是程序呢?答案是否定的

但是概念说任何时候cs:ip指向的内存空间里的数据都当作程序。这就是矛盾之处,产生的原因是概念的描述没有足够的限制,使其涵盖了不正确的方面。

举个例子:
任何时候 我都往前走。
这明显不准确。
在时间的长河中,任何时候,我都是前进着的
这就是加了限制,让描述准确的例子。
需要登录后才能回帖 -->> 请单击此处登录
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved