H8と68000

すずさん 『H8SXのマニュアルは初めて見ましたが、この言葉遣いはモトローラ式ですね。H8はMC68000の影響をかなり強く受けている(Wikipediaにもそう書いてありますが)ので、アセンブリ言語の言葉遣いもモトローラ式になったんでしょう。オペランドの並びもインテル式とは反対ですしね。
なんか見れば見るほど68000の機能縮小版に見えますねえ。』

おお、68kのアセンブリ言語までご存知でしたか。守備範囲が計り知れません。


H8は68kに比べれば命令セットがかなり少ないですね。アドレッシングモードはそっくりですが、68kのような直交性はなくて、命令によってかなり限定されてますね。(68kはコテコテのCISCですね。命令セットの多さと、アドレッシングモードの多さ・直交性という点で。) あとはデータレジスタとアドレスレジスタの区別がないのが68kと異なるところでしょうか。


まあ、H8はCPU単体というより各種ペリフェラルやフラッシュROMを内蔵したワンチップ・マイコンなので、68kと比較することにあまり意味はないかもしれません。(1) 各種ペリフェラルやフラッシュROMを内蔵しているのでワンチップですみ、(2) そこそこのスペック&わかりやすいアーキテクチャでプログラミングが容易、なのが組み込み向けで広く普及した要因ではないでしょうか。


昔、インテル8086系のV25(NEC製)というCPUでマイコンボードを自作したことがありますが、ROMやRAMやペリフェラルICなどをならべてバスを配線するのが大変な作業でした。(すべて導線を手作業で半田付けしましたので。) まあ、V25は8086互換なのでクロスコンパイラが要らないのが利点ではありました。8086系を乗せたパソコンのコンパイラがそのまま使えますから。PC-98DOS/V機のMS-DOS上でTurbo C を使ってました。


今は、gccがH8やSHやARMなどいろんなCPUに対応してますが。もっとも、GUIのデバッガを備えたIDEでないと組み込み系の開発は困難かと思います。