フォト
無料ブログはココログ

MyList

« プログラミング言語ランキング | トップページ | SAQ アレクサンダーソンデイ運用 2023 »

2022年12月30日 (金)

GMC-4で動く3連ナイトライダー

10年前に書いた投稿(大人の科学No24 2012/09/27)にRESが付いた。

大人の科学No24の付録の4Bitマイコン(GMC-4)で動く3連ナイトライダーのプログラムを紹介した記事で、
・プログラム38ワード、データ2ワード
が最小と書いた。これに対して、
・プログラム37ワード、データ1ワード
に短縮できるという内容だった。

昔書いたコードを探したが見つからなかった、あれからPCを2回くらい変えたし、当時使っていたNASは死んだ。
まあ、1度書いたコードは簡単に書けるだろうと思って書き始めたら、38ワードは38hワードの間違いかと思うくらい書けなかった。
2週間以上ハマってしまった。

Qiitaの投稿では、当時の動画に初期状態が無いという理由で初期化を省略してある。
当時ココログは動画のサイズ1MBに制限されていたので初期状態を含めることができなかったのだが、初期状態は表示している。
記憶が正しければ、データ2ワード使用しているのは、データメモリ5Eh,5Fhのビットパターンを表示する CAL DSPRを使用して初期状態を表示しているからだ。初期状態を表示しなくて良いなら、データメモリを使わないで書ける。
↓こんな感じ

	ORG	0	;
INIT:
TIA 1h ;
;2
L1:

CAL SETR ;
AIY 3h ;
;4
AO ;
CAL RSTR ;
CAL TIMR ;
AIY Ch ;
JUMP L1 ;
;10
L3:
AIY 4h ;
AO
CAL SETR ;
;5
AIY Dh ;
CAL RSTR ;
CAL TIMR ;
CIY 3h ;
JUMP L3 ;
JUMP INIT ;
;12
; Total 35

↑はプログラム35ワード/データ0ワードだ。
今のところこれが最小だと主張しておこう(^^。

なぜ今のところかというと、元記事で最小と主張していたプログラム38ワード/データ2ワードで初期状態を表示するために必要なプログラム4ワード/データ2ワードを省略すると、プログラム34ワード/データ0ワードで書ける...はず。

↓動画、GMC4simを使いました。


最近の投稿】【最近のTD4/GMC-4】【プログラミング】【2019の投稿】【2018の投稿】【2017の投稿】【2016の投稿】【2015の投稿

« プログラミング言語ランキング | トップページ | SAQ アレクサンダーソンデイ運用 2023 »

TD4/GMC-4」カテゴリの記事

プログラミング」カテゴリの記事

コメント

コメントを書く

コメントは記事投稿者が公開するまで表示されません。

(ウェブ上には掲載しません)

« プログラミング言語ランキング | トップページ | SAQ アレクサンダーソンデイ運用 2023 »