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

请问一下:关于指令的格式

2012-03-15 
请教一下:关于指令的格式在读《天书夜谈》那个pdf时,好多地方没有理解(自己太菜了),其中有一个地方是说指令

请教一下:关于指令的格式
在读《天书夜谈》那个pdf时,好多地方没有理解(自己太菜了),其中有一个地方是说指令格式的:说intel指令可分为一下部分:

        前缀(可选)   操作码   ModR/M(可选)   SIB(可选)   地址偏移(可选)   立即操作数(可选)

前缀:指令前缀,包括加锁,重复等信息。每个前缀1   个字节。但是最多可能有4   个前缀。
操作码:指令的机器编码。可能占有1-3   个字节。一般只有一个操作码。
ModR/M:修改的寄存器与存储器。如果有,则必为1   个字节。
SIB:和ModR/M   相关。一些特殊的寻址指令需要的信息(Scale,Index,Base)。如果有,必为1   字节。
地址偏移:取决于寻址方式的需要。可能为1,2,4   字节。
立即操作数:取决于寻址方式的需要。可能为1,2,4   字节。


这些地方有些笼统,不知道哪里有详细的介绍,麻烦知道一下,或者提供资料。
谢谢大家

[解决办法]
看的多就理解了。比如:

mov ax,0001;mov是操作码,ax是寄存器,0001是立即数。
[解决办法]
是呀,其实有很多的问题都是这样,你先把定义搞明白之后,再看实例。再回套就容易明白点。

例如:

cmp es: byte ptr [di],01

你向回套一下,就会明白点。
[解决办法]
这书描述得的确让人乍看起来摸不着头脑,如果只是指指令格式的话,应该是助记符+最多3个操作数,例如shrd eax,ebx,4
[解决办法]
楼主提及的内容是指机器码的格式吧, 不是助记符化了的汇编指令格式.

热点排行