hh4のまとめと拡張の構想
コメントがあればお願いします…
- おもしろいですね!ということでちょっとコメントを。 -- K 2014-05-19 (月) 11:13:37
- 「バイトエンコード時の格納順」についてですが、規定はあります。hikarupspさんの予想に反して、"B: [0000 1111] [2222 3333]"こちらがhh4の仕様です。つまりhh4はビッグエンディアン方式なのです。 -- K 2014-05-19 (月) 11:16:50
- 7Fで始まる組み合わせは、今のところ使われていないので、確かに提案のような拡張は可能ですね! -- K 2014-05-19 (月) 11:23:20
- 符号あり整数で、-1をどうするかは確かに悩ましいところです。提案の方法では、4ビット形式を特別扱いにしていました。これはrev1のフロントエンドと同じですね。OSECPU-VM(rev2)のバックエンドの方法では、-1は8ビット形式で表現してくださいということになっています。これはOSECPU-VMのバックエンドレイヤが、サイズの追及をしないで、仕様の単純さを目指しているためです。 -- K 2014-05-19 (月) 12:09:09
- 「バイトエンコード時の格納順」そうなんですか!思えば前にフロントエンドコードの解読のとき、ふつうにバイナリエディタで読めたからビッグエンディアンですね… -- hikarupsp 2014-05-19 (月) 17:27:55
- 4ビット形式についてはRev.1の資料を参考にしました。Rev.2では異なる仕様なのですね。4bit形式の負数がすべて使えないのではなくて、4ビット形式の-1だけが数値ではない扱い、ということになるのでしょうか? -- hikarupsp 2014-05-19 (月) 17:37:15
- そのとおりです。rev2のバックエンドが4ビット形式で表現できるのは、0,1,2,3,-2,-3,-4なのです。 -- K 2014-05-19 (月) 17:58:28
- ちなみにrev2のフロントエンドの4ビット形式は、もちろん-1が表現できますが、しかしもっとややこしくなります。たとえばOR命令では4ビット形式の0が使えません! -- K 2014-05-19 (月) 18:00:06