操作码列
1.主操作码是 1、2 或 3 字节.其中2字节操作码和三字节操作码都在0F开头,但是二字节的SIMD opcode是一个强制前缀+0fh+一字节的操作码:
一字节操作码示例:
操作码 指令...对于SIB的介绍,我们先忽略
首先是列的定义。由于reg/opcode域可以用来表示opcode,也可以用来表示reg,因此同一个值在不同的指令当中可能代表不同的含义。...在表当中,就表现为每一列的表头都有很多个不同的表示。我们需要关心的就是 opcode这一个。注意看我用红圈圈出来的部分,这一列就是opcode=2的一列。...而我们需要的CALL指令,也就是在这一列当中,0xFF后面需要跟着的内容。
行的定义就是不同的寻址模式。正如手册所说,mod + R/M域,共5个字节,定义了32种寻址模式。
...手册上同样有一张表(又是巨大的表):
列是Base,行是Index*Scale,例如[ecx+4*eax] 就是0x81。