如何指定即时宽度?

时间:2016-04-11 17:23:15

标签: visual-c++ assembly x86

想象一下,我想使用立即跳转(隐藏在宏后面):

jmp label

如何指定立即数的宽度,例如执行 rel8 jmp指令。我试过了:

jmp byte label

但它不起作用。我正在使用MSVC内联汇编程序。

1 个答案:

答案 0 :(得分:2)

汇编器将自动选择跳转指令的最小编码。使用MASM,您可以使用jmp SHORT label覆盖它,但Microsoft内联汇编程序会忽略SHORT关键字。

请注意,即使使用MASM,在使用SHORT关键字时,标签也必须在汇编文件的其他位置定义,并且在跳转指令的-128到+127字节之内。否则你会收到错误。