Uniquely, the size of the displacement is encoded in its most significant bits: 0, 10 and 11 preceded 7-, 14- and 30-bit signed displacements. (Although the processors are otherwise consistently little-endian, displacements in the instruction stream are stored in big-endian order).
ゲームボーイはZ80だったのか… (スコア:1)
6502だと勝手に思いこんでたよ。
ファミコンからの移植大変だったんじゃないのかなあ
Re:ゲームボーイはZ80だったのか… (スコア:0)
6502がリトルエンディアンだというのを今知った。
ビッグエンディアンだったら移植がもっと大変だっただろう。
ちなみに自分がマシン語を使ったのは6809が最初で次に68000だったけど
リトルエンディアンのことを知ったときは正気の沙汰ではないと感じた。
もうエンディアンの違いは意識することもない人生を送っているけれど、
なぜリトルエンディアンが主流になったのだろう?
ハード的にはそちらのほうが有利な点があったとか?
Re: (スコア:0)
たとえば2バイト長の加算は
リトルエンディアン:下位バイトフェッチ、下位加算、ポインタインクリメント、上位バイトフェッチ、上位加算、ポインタインクリメント
ビッグエンディアン:上位バイトフェッチ、バッファ、ポインタインクリメント、下位バイトフェッチ、下位加算、上位加算、ポインタインクリメント
となる。
ビッグエンディアンは見た目はわかりやすいが回路的にはオーバーヘッドにしかならない。たとえば IBM System 360はビッグエンディアン、DEC VAXはリトルエンディアン、PDP-11は非常に特殊なエンディアン。
https://ja.wikipedia.org/wiki/PDP-11 [wikipedia.org]
PDP-11のエンディアンは独特であった。16ビットワードはリトルエンディアンで格納される。すなわち下位バイトがアドレスの小さいほうに格納される。32ビットワードを構成する2個の16ビットワードは、ビッグエンディアンで格納
Re: (スコア:0)
32032は「命令はビッグエンディアン、データはリトルエンディアン」という変なやつ。
https://en.wikipedia.org/wiki/NS32000 [wikipedia.org]
Uniquely, the size of the displacement is encoded in its most significant bits: 0, 10 and 11 preceded 7-, 14- and 30-bit signed displacements. (Although the processors are otherwise consistently little-endian, displacements in the instruction stream are stored in big-endian order).
Re: (スコア:0)
ビッグエンディアンがオーバーヘッドになるのは加算機が8ビットだからって事だろうか
Re: (スコア:0)
エンディアン嘘つかない
うじゃうじゃ