MZ-80 パソコン開発物語

今だから話せる、パソコン開発記録を連載します。 感想をコメントに残して頂けたら 嬉しい・・。

過去の投稿日別表示

[ リスト | 詳細 ]

全1ページ

[1]

イメージ 1

SPIポート制御をCで書くと、あまりにも処理が遅い。今回 アセンブラでの記述をやってみる。
通常、FAT制御だけでは、特に必要がないが、このBASICマシーンで やってみたい事がある。

H8には、DACが付いている。サンプリング8KHz・8ビットのWAVデータを再生したいと思っている。
コマンド sound "AISATU"   『今日も元気に、がんばっているか?』なんて喋れば良いね・・

スピードアップするには、もっとも繰り返しの多い部分・・729行〜734行が重要
(1)H8命令語で、処理サイクル数の少ない強力な命令を使う。
(2)レジスタの使い方を工夫する。

→   730、731行 ポートの指定ビット、セット、クリアは 8サイクルの ワン命令
→   732行 ポートの指定ビットを反転して キャリーCに取り込む
→   733行は、左シフトでキャリーCをビット0に取り込む、その時、はじき出された
.      15ビット目のデータは、キャリーCにある。
→   734行 その時のキャリーCが、0ならば 繰り返す。
以上のため、727行目で、ビット8位置に 繰り返しをストップする”1”を埋め込んでいる。

以上の 緻密な処理はCコンパイラでは出来ない。
これにより、730〜733行のサイクル数は28サイクル 1.12μSECとなっている。

以上の様なやり方で、読み出し・書き込みCOMコマンド、レディ待ち・・の
SD リード・ライト一連をアセンブラ化して、喋るBASIC・・としたいな〜。

ところで、MZ80のFDディスクBASICは 略40Kバイト弱だった。それだけのアセンブラは、今 体力の限界で書けないと思うが・・ 
しかも、他社のBASICより、早くするには、命令語とマシンサイクル・・BC,DE,HL・・シャドウBC,DE,HLをどのように使う・・が課題だった。
遅いクロック、少ないメモリ、しかし高速処理・・かなり、非常識?な使い方をしたような・・記憶がある。

C言語で、大量のメモリを使い、スピードはクロックを上げる・・も良いけど、
他社、他人との違い・・・特長付けには、やはり 効率の良いアセンブラ化も重要だね。


 

全1ページ

[1]

[PR]お得情報

お肉、魚介、お米、おせちまで
おすすめ特産品がランキングで選べる
ふるさと納税サイト『さとふる』
ふるさと納税サイト『さとふる』
11/30まで5周年記念キャンペーン中!
Amazonギフト券1000円分当たる!
数量限定!イオンおまとめ企画
「無料お試しクーポン」か
「値引きクーポン」が必ず当たる!

その他のキャンペーン


プライバシー -  利用規約 -  メディアステートメント -  ガイドライン -  順守事項 -  ご意見・ご要望 -  ヘルプ・お問い合わせ

Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.

みんなの更新記事