首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 汇编语言 >

[] CS:IP 寄存器的有关问题

2012-04-24 
[求助] CS:IP 寄存器的问题CS:IP 在CPU从内存取代码时,根据机器码的长度,IP会自动增加,跳到下一个指令处,

[求助] CS:IP 寄存器的问题
CS:IP 在CPU从内存取代码时,根据机器码的长度,IP会自动增加,跳到下一个指令处,如mov ax ,0123H 的机器码占用3个字节,IP就加3。

我的问题是CPU是如何知道该指令是3个字节而发出取3个字节的命令呢?

[解决办法]
楼主要去研究X86体系的机器码指令结构啦!这个内容太多了,给你个资料的网站吧 上Intel官网找资料吧!网址是:http://www.intel.com/content/www/us/en/processors/architectures-software-developer-manuals.html
下载文档,你要的内容在64-ia-32-architectures-software-developer-vol-2a-manual.pdf里的第二章中的指令结构(INSTRUCTION FORMAT)一章。
[解决办法]
每条指令都有一个操作码,操作码决定了是什么操作,以及操作数的类型。同时,也决定了指令的长度。
[解决办法]
操作码的长度+操作数的长度=指令的长度。操作码长度1~15字节,操作数的长度根据给出的类型获取。这样就可以得到这条指令的长度。我这样认为的。

热点排行