'24ビット左にシフトしたとき、128以上の整数は符号付き32bit整数の範囲を越えoverflowとなる。128〜255の時だけ-256して-128〜-1に変換する。 'B%=A% DIV 128 '128〜255の時だけ1に、0〜127の時0 ARYOP #AOPMUL,B%,A%,1/128 'A%=B%*(-256)+A% 'A%が128以上の時だけB%には1が入っているので、-256倍して加算することで128以上の時だけ-256 ARYOP #AOPMAD,A%,B%,-256,A% '左シフト 'A%=A%*(1<<24) ARYOP #AOPMUL,A%,A%,1<<24