总结下一下免得白白被《Intel Manual》降低了视力。
下面说的是32位的Intel CPU。
Intel指令的格式就是intel机器码的格式,跟汇编的语法格式不是一回事。
每条intel指令由六部分组成,如图:
(英语不好,就不直接翻译。)
1.指令前缀
2.操作码
3.Mor R/M
4.SIB
5.Displacement
6.Immediate
指令前缀
指令前缀可有可无,多的时候可以加四个前缀(每个前缀占一个字节)。前缀本身被分成四组(具体可查手册),每条指令的前缀组
合只能是来自不同组。
操作码
操作码的长度可以是1、2或3个字节,他指定了控存中微程序的地址。在有两个操作数的指令中,opcode还能指定操作的方向。
举个例子说:
mov ax , bx 和 mov bx , ax
在汇编中ax和bx颠倒体现在指令中就是opcode中的某一位 由1变为0.
抗不牢了,先睡觉