- 862 名前:デフォルトの名無しさん [2016/10/09(日) 18:54:04.23 ID:jP/U8Kom.net]
- >>801-802 処理系の違いってけっこうあるんだね。
makoto-watanabe.main.jp/freebasic/OpPrecedence.html の「最も高い優先順位」の表をみると、上から、算術演算子、比較演算子、論理演算子、の順番になっている。細かいことを覚えないで、群で覚えていた。 数値型変数と数値型定数の演算だから、「OR」を算術演算子と解釈したのが混乱の原因だった。 「OR」を論理演算子、As BOOLEAN 型変数同士の演算の場合、と、As ULong 型変数(数値型変数)の演算の場合で区別してくれると、勘違いしていた。 MS-DOS のバージョンの変遷だったか、何かのライブラリーの変遷だったか、覚えていないが 障害発生時の分岐を JC でやるか、JNZ でやるか、の処理で問題になった時がある。 製造元では、OR AX,AX JNZ で処理していてので、問題なかったんだが、ユーザーの方で JC でやっていた(1マシンサイクル早い)人がいたので問題になった。 バージョンアップで NC(キャリーフラグに0が定義されている状態)でも正常終了するようにかわったのが直接の原因。
|

|