2009年08月03日

お手玉プログラム:リスト

 先の記事で書いた、お手玉プログラムのリスト。
 打ち込みやすいようにダンプリスト、アセンブルリスト、ソースリストを掲載。


ダンプリスト
00: 8 1 A 0 4 3 4 A
08: 1 5 3 E 1 2 A 1
10: 5 3 8 0 E C B B
18: F 1 2 2 E 2 3 A
20: 0 6 A 1 4 C 6 F
28: 2 F A 0 8 F 4 C
30: 0 F 0 7 F 0 0

アセンブルリスト
00  (0000000)   8   1       TIA <1>
02 (0000010) A 0 TIY <0>
04 (0000100) 4 AM
05 (0000101) 3 CY
06 (0000110) 4 AM
07 (0000111) A 1 TIY <1>
09 (0001001) 5 MA
0A (0001010) 3 CY
0B (0001011) E 1 CAL SETR
0D (0001101) 2 CH
0E (0001110) A 1 TIY <1>
10 (0010000) 5 MA
11 (0010001) 3 CY
12 (0010010) 8 0 TIA <0>
14 (0010100) E C CAL TIMR
16 (0010110) B B AIY <B>
18 (0011000) F 1 2 JUMP <12>
1B (0011011) 2 CH
1C (0011100) E 2 CAL RSTR
1E (0011110) 3 CY
1F (0011111) A 0 TIY <0>
21 (0100001) 6 M+
22 (0100010) A 1 TIY <1>
24 (0100100) 4 AM
25 (0100101) C 6 CIA <6>
27 (0100111) F 2 F JUMP <2F>
2A (0101010) A 0 TIY <0>
2C (0101100) 8 F TIA <F>
2E (0101110) 4 AM
2F (0101111) C 0 CIA <0>
31 (0110001) F 0 7 JUMP <07>
34 (0110100) F 0 0 JUMP <00>

ソースリスト
START:
TIA 01
TIY 00
AM ;50hに方向値1を入れる
CY
AM ;51hにLED値0を入れる
MAIN:
TIY 01
MA ;51hのLED値を取り出す
CY ;YrにLED値,Ar=1
CAL SETR ;LED点灯
CH ;ウエイト準備。Br,Zrを呼び出す
TIY 01
MA ;51hのLED値を取り出す
CY ;YrにLED値を入れる
WAIT:
TIA 00 ;Arに0
CAL TIMR ;0.1秒だけタイマー
AIY 0Bh ;Yrを+11
JUMP WAIT ;桁上がりしていれば戻る
CH ;ウエイト終了。Ar,Yrに戻す
CAL RSTR ;LED消灯
CY ;ArにLED値,Yr=1
TIY 00
M+ ;LED値+方向値をArに
TIY 01
AM ;51hにLED値を入れる
CIA 06 ;Arは6?
JUMP TURN ;6以外なら次を飛ばす
TIY 00
TIA 0Fh
AM ;50hに方向値-1を入れる
TURN:
CIA 00 ;ArのLED値は0?
JUMP MAIN ;0以外ならメインループ
JUMP START ;0なら最初に戻る





posted by 司隆 at 11:25 | Comment(0) | TrackBack(0) | Computer
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]


この記事へのトラックバック
×

この広告は180日以上新しい記事の投稿がないブログに表示されております。