Assembly 有关于指令“jmpi”的权威文件吗`

Assembly 有关于指令“jmpi”的权威文件吗`,assembly,linux-kernel,x86,Assembly,Linux Kernel,X86,我正在学习Linux是如何工作的。我遇到了一条奇怪的汇编语言指令,jmpi。我可以在各种网站上找到一些解释,但奇怪的是,我在汇编语言书籍中找不到,包括。我已经搜索了这本书,但它没有包含指令jmpi。我认为《英特尔手册》应该是关于英特尔汇编语言的最权威的书。所以很奇怪 我的问题是:是否有一些书籍或权威文件记录了此指令?英特尔处理器指令集中有多条JMP指令。它们具有相同的预期结果,但所采用的操作数类型不同:8位常量、16位常量、32位常量、间接指定的值;也是相对的还是绝对的跳跃。参见《架构手册》第8

我正在学习Linux是如何工作的。我遇到了一条奇怪的汇编语言指令,
jmpi
。我可以在各种网站上找到一些解释,但奇怪的是,我在汇编语言书籍中找不到,包括。我已经搜索了这本书,但它没有包含指令
jmpi
。我认为《英特尔手册》应该是关于英特尔汇编语言的最权威的书。所以很奇怪


我的问题是:是否有一些书籍或权威文件记录了此指令?

英特尔处理器指令集中有多条
JMP
指令。它们具有相同的预期结果,但所采用的操作数类型不同:8位常量、16位常量、32位常量、间接指定的值;也是相对的还是绝对的跳跃。参见《架构手册》第854页的表格

Opcode Instruction  Description
------+------------+----------------------------
EB cb  JMP rel8     Jump short
E9 cw  JMP rel16    Jump near, relative
E9 cd  JMP rel32    Jump near, relative
FF /4  JMP r/m16    Jump near, absolute indirect
FF /4  JMP r/m32    Jump near, absolute indirect
FF /4  JMP r/m64    Jump near, absolute indirect
EA cd  JMP ptr16:16 Jump far, absolute
...
它们作为体系结构开发的不同阶段所支持的不同内存模型的遗产被不同地对待


许多汇编程序引入额外的助记符,使汇编代码更具可读性。因此,在
as86
中,
JMPI
指令指的是一个近
JMP
指令,它可以是绝对的,也可以是相对的,但应始终保持在一个代码段内,即段内跳转。
as86
是唯一的权威参考。

解释了这一点,可能吗?另外,我认为您可能想尝试堆栈溢出来解决有关汇编语言的实际问题。如果主持人愿意,他们会为您提出问题,您不需要做任何事情。Linux内核使用AT&t语法(而不是bletcherous intel语法),这意味着对于许多指令,修饰符会附加到指令中,而不是从参数推断。我在AT&T语法中搜索了x86(和x86_64)汇编教程(请注意,这不是太难),结果一无所获。