思い出・昔話

80系アセンブラのテクニック

asano に投稿
カテゴリー

2日目の今日は80系(8080, Z80, 8085など)のちょっと懐かしいテクニックです。

今こんな書き方をすると、わかりにくいと怒られるか、パイプラインなどに悪影響が出たり技術的にもデメリットになったりしますので避けるべきですが、当時はそれなりにメリットもあってよく使われていました。

一つは命令の途中に飛び込むというものです。例えばこんな感じです。


   1:	8000          	    ORG 8000H
   2:	8000          	entry1:
   3:	8000  3EAF    	    LD  A,0AFH
   4:	8002  3200FF  	    LD  (0FF00H),A
   5:	8005  C9      	    RET

3行目でAレジスタに0AFHを入れ、4行目で0FF00H番地のメモリに書き込んで、リターンするだけのものです。
ここでは8000Hがエントリポイントですが、8001Hもエントリポイントと考えると以下のようになります。オブジェクトは上と一緒です。

電磁カウンタ と秋葉原の思い出

asano に投稿
カテゴリー

またも懐かしいものが出てきました。

電磁カウンタ
これは電磁カウンタと呼ばれるものです。電気のパルスを数えるものですが、今や電子式(液晶やLED表示)に置き換わってしまい、このような機械式は珍しくなりました。

これは3桁のもので、左のボタンを押すことで「000」にリセットすることができます。

私のプリンタ遍歴

asano に投稿

テーマ

カテゴリー

個人的に(つまり自宅で)使ってきたプリンタたちです。
ポケコン用の小さなものやワープロ内蔵のものなどを除いたメインで使っていたものだけを挙げています。

  1. NEC NK3618-21

    初めて買ったこれは主にBASICプログラムやZ80アセンブルリストの出力に使っていました。

    10インチ幅のドットインパクト式のプリンタです。連続紙の使用時はトラクタユニットが必要なのですが、買えないのでそのまま使っていました。丁寧に紙をセットしても何十枚もプリントしていると少しずつズレてきてしまうので時々セットし直してあげる必要があり不便ではあるのですが、初めてもったプリンタということで当時はあまり気にしていませんでした。

私のプロセッサ遍歴

asano に投稿

テーマ

カテゴリー

今回は私のかかわってきたプロセッサたちです。

アセンブリ言語でプログラミングしたかハードウェア設計をおこなったものです。
それぞれ代表的なものを挙げてみました。仕事関係は詳しく書けませんのでご了承ください。

  1. Zilog Z80 CPU

    Z80はPC-8001mk2でのプログラミングから始まって、ボードの自作まで行なっていますが、全て個人的なものです。
    PC-8001mk2では
    • 640×200のグラフィックで漢字を25行表示する圧縮表示(2ラインをOR合成する)ルーチン
    • アマチュア無線コンテストのログの重複チェックプログラム
    • 62k CP/Mを実現するためにBIOS作り直し
    • ROMライタをCP/MのPIPコマンドから使えるようにする

    自作ボードでは以下のハードウェアとそのソフトウェア

私のプログラミング言語遍歴

asano に投稿

テーマ

カテゴリー

いつもモノのことばかり書いているので、時には「私」についても書いてみようかと思っています。
題して「私の~遍歴」、第1回はプログラミング言語についてです。

これまでに個人的にも業務としてもいろいろなプログラミング言語を使ってきました。既存のプログラムをちょっと修正したようなものまで含めるとかなりの数になってしまうので、ある程度使い込んだものを並べて見ました。

  1. BASIC
  2. 私が初めてパソコンに接したのは1982年のことですから、BASICから入ったのはごく自然な流れでした。一部の例外を除いてパソコンを買えばBASICは入っている時代でしたから、まずはそれを使ってみることになります。

NEC PC-8001mk2 (外観編)

asano に投稿
カテゴリー

今回ご紹介するのはNEC製のパソコン、PC-8001mk2です。

PC-8001mk2
本体が別にあるのではなく、これが本体です。このようなキーボード一体型(キーボードの下にメインの基板が配置されています)は当時一般的なものでした。もちろん本体とキーボードが分離されている機種も存在していました。逆に本体にキーボードもモニタもカセットデッキも一体になっているものもありました。

基本的なスペックを挙げると以下のようになります。