. : : Assembly Language : : .
|
首页
|
我提出的问题
|
我参与的问题
|
我的收藏
|
消息中心
|
游客 登录
|
提问
|
未解决
|
已解决
|
精华区
|
搜索
|
《汇编语言》论坛
->
寄存器(内存访问)
主题 : :
个人认为书中的错误之处,请高手解释一下
[待解决]
回复[
4
次 ] 点击[
493
次 ]
hhuang
[帖 主]
[ 发表时间:2009-05-15 07:26 ]
荣誉值:0
信誉值:0
注册日期:2009-05-15 07:11
王爽老师在第三章举的第一个CS、IP的例子中,在把一条机器指令读取到cpu中执行后,ip指针会跳到下一条机器指令。
可是,书上举例中,每一条汇编指令对应的内存中的机器码的长度不一样,有的2字节,有的3字节,甚至jmp是5字节(32页)。这样好像是不对的吧,理由如下:
1、我记得当时我们在学计算机原理时,80x86属于RISC精简指令体系,指令少,而且每条指令的字长都是固定。对于32位机,每条指令的长度都应该是4字节。
2、如果汇编语言在编译后对应的机器指令的长度不固定,那么ip指针怎么知道下一次要增加几个字节呢。在32位的x86体系中,每执行完一条指令,ip应该是加4,也就是向后跳4字节。
不可否认王老师的书写的很通俗和流畅,很是敬佩,也很感谢。
以上是我的一些疑问,请高手能指点一下。hhuang111@163.com
hhuang
[第
4
楼]
[ 回复时间:2011-01-26 11:33 ]
荣誉值:0
信誉值:0
注册日期:2009-05-15 07:11
感谢二位的解释
需要登录后才能回帖 -->>
请单击此处登录
Copyright © 2006-2024 ASMEDU.NET All Rights Reserved