構文 HIGH <定数式> ; 上位 8 ビット LOW <定数式> ; 下位 8 ビット
HIGH 演算子は、<定数式>の上位 8 ビットのみを残し、下位 8 ビットを 0 にします。
LOW 演算子は、<定数式>の下位 8 ビットのみを残し、上位 8 ビットを 0 にします。
適用可能な式
これらの演算子は定数式にのみ適用できます。
例 HIGH 01010101b ; 01010000b LOW 01010101b ; 00000101b
LOW 演算子に負の数を渡した場合
LOW 演算子に負の数を渡したとき返される値は、LASM V2.07 以降で変わりました。
LOW 演算子に負の数を渡したとき、LASM 2.06 以前(および MS-MASM V5.1)では、返される値の下位 8 ビット以外はすべて 1 になっていましたが、LASM 2.07 以降(および MS-MASM V6.0)では、返される値の下位 8 ビット以外はすべて 0 になり
ます。
たとえば「MOV EAX, LOW (-2)」は、次のコードを生成します。
LASM 2.06 以前および MS-MASM V5.1 -> MOV EAX, 0FFFFFFFEh LASM 2.07 以降および MS-MASM V6.0 -> MOV EAX, 0000000FEh