/ 4在FF / 4中的含义是什么?

时间:2014-06-18 21:42:07

标签: assembly x86

对于x86文档,我commonly refer to的一个站点有一些带有斜杠和数字的指令代码。例如,jmp接近绝对间接给出FF /4,而jmp远绝对间接给出FF /5

/4/5是什么意思?

为了运行一个快速的小测试,我附加了一个32位进程,分配了一点内存并使汇编程序插入jmp dword ptr[0x12345678];生成的字节码为FF 25 78563412。我了解地址字节顺序,但25/4/5的关系如何?

我的猜测是我生成了jmp远,而/5意味着有五个字节作为参数(地址为4个字节,25为1个字节)。我仍然对25的来源感到困惑。

1 个答案:

答案 0 :(得分:10)

英特尔参考手册中的" 3.1.1.1指令汇总表中的操作码列":

  
      
  • / digit - 0到7之间的数字表示该数据的ModR / M字节   指令仅使用r / m(寄存器或存储器)操作数。注册领域   包含为指令的操作码提供扩展的数字。
  •   
  • / r - 表示指令的ModR / M字节包含寄存器   操作数和r / m操作数。
  •   

这种表示法通常也在ModR / M字节的各种描述中提到,e.g.