楽しければそれでいい!メニューコンテンツへ移動ホーム歌♪ミュージカル詰将棋みたまんまMECCMECCコード説明書(1)1件のフィードバックバイト数まず大前提として、メモリに読み書きする場合、必ずバイト数を何バイトにするのかを決めないと処理できません。PARコードでも、必ず書き込みバイト数が決められています。MECCコードでも、この処理するバイト数が一番重要な事項になっています。↓W:書き込みの基本4サイクルで動いていると思われます。(便宜的に名前をつけています)そして、Aで決まった処理バイト数が、後のR・C・W全ての処理に対して制限を加えます。※意図的に処理バイト数を明示した場合を除くポイントは、Cの計算処理にも、Aの処理バイト数が影響していることです。当初は、このAの処理の存在が、見え隠れしていたために悩みました。※計算に関しては次回しますですが、3.110以降1本筋の通った仕様になっていますので、ここさえ押さえてしまえば、MECCコードが非常に理解しやすくなっていると思います。01:「1」バイト数値同士で計算して結果を出すW処理00XXXX:求めた結果を00XXXXに「1」バイトで書き込むという具合です。0001:「2」バイト数値同士で計算して結果を出すW処理00XXXX:求めた結果を00XXXXに「2」バイトで書き込むとなります。→処理バイト数を「2」に決定(全ての項のバイト数の最大に合わせる)R処理1@00YYYY:00YYYYから「1」バイトの数値を読み出して「2」バイト数値にする。・処理バイト数は「2」ですが、直接指定した「1」バイト指定が優先します。・読み出した1バイトデータを、処理バイト数の「2」バイトに合わせます。0001:「2」バイト数値同士で計算して結果を出すW処理00XXXX:求めた結果を00XXXXに「2」バイトで書き込むとなります。@00YYYY:可変バイト数読出し1@00YYYY:1バイト読出し2@00YYYY:2バイト読出し3@00YYYY:3バイト読出し4@00YYYY:4バイト読出しです。SIZE=2;と「Size=」オプションを付けて、書き込みバイト数を2バイトに変更します。01:「1」バイト数値同士で計算して結果を出すW処理00XXXX:求めた結果を00XXXXに「2」バイトで書き込む・処理バイト数は「1」ですが、Size=指定があるとそのバイト数で書き込まれます。「SIZE=系」の書式をまとめますと、SIZE=1:1バイト書込みSIZE=2:2バイト書込みSIZE=3:3バイト書込みSIZE=4:4バイト書込みとなります。状況によっては書き込まれる数値が変わってきます。※計算に関しては次回しますバイト数、最後は「VALUE系」です。01と、読出し側のアドレスを省略して書くことができます。@00XXXX:可変バイト数読み出し(MECC3.121以降)VALUE_1=1@00XXXX:1バイト読み出しVALUE_2=2@00XXXX:2バイト読み出しVALUE_3=3@00XXXX:3バイト読み出しVALUE_4=4@00XXXX:4バイト読み出しのように対応しています。いずれも、読出し命令を簡略記述するための書き方であって、書込みバイト数を決定する命令ではありません。→処理バイト数を「2」に決定(全ての項のバイト数の最大に合わせる)R処理VALUE_1:00XXXXから「1」バイトの数値を読み出して「2」バイト数値にする。・処理バイト数は「2」ですが、直接指定した「1」バイト指定が優先します。0001:「2」バイト数値同士で計算して結果を出すW処理00XXXX:求めた結果を00XXXXに「2」バイトで書き込むというように、1バイトを読み出したアドレスに2バイトで書き込みます。1バイトで書き戻したい時には「SIZE=1」オプションを付けます。以上、基本形の整理で終わってしまいましたが、おそらく大きく間違ってはいないと思います。※バイト数に関係する「SIZE文」の話は変数の話の頃にします。次はこれらを踏まえた上で、計算とMAX・MINオプションに関して整理しながら、もう少し具体的な話になると思います。WordPress%d人のブロガーが「いいね」をつけました。