整数型変数で>>のビットシフトの挙動におかしなところがあるのを見つけました。 ? HEX$(&H80000000>>2) とすると E0000000 と表示されます。 シフトしたときに最上位ビットに0をセットするのでは無くシフト前の状態を 維持してしまいます。シフト回数分だけこの処理がされているようです。 今のところはシフト後にAND命令で有効なビットだけ取り出しています。 シフト回数分0をセットするように修正をお願いします。 <<ではきちんとシフト回数分0がセットされています。