6809とZ80
ネットブラウズしていたら、6809のページを見つけてしまいました。
6809の命令表が載っています。懐かしー。昔は、すらすらとコーディング出来たはずなのに、今はすっかり忘れてしまっています。
それで、ふっと思い出したのがZ80の事です。会社で同僚と話していて、Z80でハンドアセンブルをしていて、主要な命令コード(マシン語)は覚えていたと…。私も覚えています。0x3eはAレジスタへの値代入、0x21はHLレジスタへの値代入、0xc3は絶対アドレスへのジャンプ、0xc9はサブルーチンからのリターン、そして0x76はHALT。あ、忘れちゃいけないのが0x00のNOPですね。
Z80のマシン語は覚えているけど、6809のマシン語は全く出てきません。何でだろう? そう言えば、6809のハンドアセンブルをした覚えがあまりないなぁ。
ちなみに、Z80も6809も、パソコンの8bitCPUです。Z80はザイログ社、6809はモトローラ社の物です。6809は究極の8ビットCPUと呼ばれていました。
シャープのMZ-80やNECのPC-8001がZ80を搭載した代表的なパソコンだと思います。日立のS1とか富士通のFM-7は6809を搭載した代表的なパソコンだと思います。
ディスカッション
CDは、コンパクトディスクでなくて、キャッシュディスペンサーでもなくて、中日ドラゴンズでもなくて、サブルーチンコールでしたっけ。
C9(リターン)は記憶に在りました。
りばさんへ、コメントありがとうございます。
そうです、0xcdは絶対アドレスのサブルーチンコールです。「Z80 命令表」で検索すると、色々出てきますね。
この頃のCPUは、サイクルタイムで実行時間を計算出来たので、リアルタイムなアプリケーションを書くのに、命令実行時間を計算した物でした…。