2009-04-08 65 views
8

我试图将在Visual Studio中编写的汇编代码移植到Linux上的GNU内联汇编中。原始代码使用_emit,MSDN将其描述为伪指令,并解释为:Linux上_emit的等价物是什么?

_emit伪指令与MASM的DB指令类似。您可以使用_emit在当前文本段中的当前位置定义一个立即字节。但是,_emit一次只能定义一个字节,并且只能在文本段中定义字节。它使用与INT指令相同的语法。

我该怎么在Linux上做同样的事情?

回答

15

要发出字节×12(例如),这样做:

asm __volatile__ (".byte 0x12"); 

虽然,你可能会得到启用优化令人惊讶的结果。

+0

+1,关于优化的好处。 – 2009-04-08 19:41:55

相关问题