例えば:
int x = 35;
if( x%2==1) { //do something }
結果を に代入せずにモジュラス値を確認したいだけですx。
値が にあると仮定すると、命令eaxを使用DIVして、元の値をeaxなどに戻すことができますが、それは非効率的です。より良い方法を提案できますか?
al/ ax/ eax/の値のモジュロ 2 に従って分岐するにはrax:
    test al,1
    jnz is_odd
is_even:
    ; do something for even numbers.
is_odd:
    ; do something for odd numbers.
ただし、モジュロ値だけが必要な場合は、分岐は必要ありません。
test al,1
setnz bl   ; modulo 2 of al/ax/eax/rax is now in bl.
下位ビットがオンの場合、2 で割り切れません。
test   x, 1
jne    somewhere_when_odd