对齐内联asm指令

时间:2012-05-31 20:20:08

标签: windows visual-c++ alignment inline inline-assembly

我想在visual c ++中定义nop或任何其他asm指令的幻灯片,我很确定它可以使用#define _emit align()吗? 我想一次定义200个nops而不必做“#define __asm nop __asm nop __asm nop ....”

1 个答案:

答案 0 :(得分:1)

那么你想要对齐还是想要一些重复的指令呢?

如果你想对齐,你可以得到对齐:

__asm
{
    align 16
    nop
    align 16
    nop
    align 16
}

如果您想重复说明,则必须通过定义来完成。

#define NOP1 __asm nop
#define NOP4 NOP1 NOP1 NOP1 NOP1
#define NOP16 NOP4 NOP4 NOP4 NOP4 NOP4
#define NOP64 NOP16 NOP16 NOP16 NOP16
#define NOP256 NOP64 NOP64 NOP64 NOP64

int main()
{
  NOP256
  return 0;
}