8080マイコンをつくろう!(TK−80完全復活!)
なんと8080です!
もちろん、BASICからCP/Mまで、できます!
36年の時を経ていまよみがえる8080CPUマイコン組立キット!
なんたってはるか昔の生産中止品を集めて作る組立キットです。
生産前から堂々予告です。
入手できなくなったら即生産終了!売り切れ御免!
[第15回]
●BASIC
やっとBASICまで検証が進みました。
ND80Z3.5(ND80ZV)に搭載されているのと同じZB3BASICです。
ZB3BASICはその名に「Z」がついていることからも推察できる通り、もとはZ80アセンブラで記述したプログラムです。
それをもとにMYCPU80用に8080だけの命令で実行できるように、変更が必要な部分を書き直しました。
今回ND8080に搭載したND8080用の「ZB3BASIC」はMYCPU80用の「ZB3BASIC」をND8080のハードウェアにあわせるように、さらに一部を変更しました。
定番ですけれどルートの計算をしてみました(SQR()関数を使います)。
ZB3BASICには倍精度浮動小数点演算の機能もあります。
変数名に’#’をつけると倍精度実数型になり、倍精度実数演算が行なわれます。
CPUクロックが2MHzでしかも8080ですから、倍精度実数演算はさすがに少し時間がかかります。
何回も書いていますように、Z80も8080も2進整数の加減算しかできません(乗除算命令はありません)。
Z80は16ビットの加減算ができますが、8080では加減算は8ビットのみで、16ビットはキャリーなし加算しかできません。
それでこんな計算までできてしまうのですから、プログラムってすごいものだと思いませんか?
もっとすごいこともできてしまいます。
倍精度の三角関数だってこの通り。
SID()は度数のSIN、COD()は度数のCOSです。
あっと、結果の数値の桁数が大きすぎて、表示がくっついてしまいました。
間が空くようにプログラムを少し直して再実行しました。
今回はND8080で試してみましたが、もちろんND80Z3.5(ND80ZV)やZB3BASICを増設したMYCPU80でも同じことができます。
8080マイコンをつくろう![第15回]
2016.4.3upload
前へ
次へ
ホームページトップへ戻る