GNU binutils に含まれれるアセンブラ GNU as (通称 gas) には、一般のアセンブラのようにマクロ機能が備わっている。 以下に例を挙げる。環境はいつものように x86 のLinux。 .macro check_bits operand andl $0b11, \operand cmpl $0b10, \operand jne error .endm .text main: /* ... */ check_bits %eax /* ... */ error: /* error 処理 */ /* ... */処理としては、引数として渡されてきたオペランドの下位 2bit が'11'かを判定し、そうでなかったら error へ飛ぶということを行っている。 ポイントとしては次のとおり。 定義は .macro ~ .endm で行う。 引