# asm/nop2.s
    .text
    .globl main
    .type main, @function
main:
    # 1〜9バイト長のnop命令(ニモニックで指定)
    # (disp をゼロのままだと意図通りの命令長にできなかったため変更)
    nop
    xchg   %ax,%ax
    nopl   (%rax)
    nopl   0x1(%rax)
    nopl   0x1(%rax,%rax,1)
    nopw   0x1(%rax,%rax,1)
    nopl   0x7FFFFFFF(%rax)
    nopl   0x7FFFFFFF(%rax,%rax,1)
    nopw   0x7FFFFFFF(%rax,%rax,1)

    # 1〜9バイト長のnop命令(バイト列で指定)
    .byte 0x90
    .byte 0x66, 0x90
    .byte 0x0F, 0x1F, 0x00
    .byte 0x0F, 0x1F, 0x40, 0x00
    .byte 0x0F, 0x1F, 0x44, 0x00, 0x00
    .byte 0x66, 0x0F, 0x1F, 0x44, 0x00, 0x00
    .byte 0x0F, 0x1F, 0x80, 0x00, 0x00, 0x00, 0x00
    .byte 0x0F, 0x1F, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00
    .byte 0x66, 0x0F, 0x1F, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00

    # 1〜9バイト長のnop命令(アセンブラ命令で指定)
    .nops 1
    .nops 2
    .nops 3
    .nops 4
    .nops 5
    .nops 6
    .nops 7
    .nops 8
    .nops 9

ret
    .size main, .-main
