+++ /dev/null
-; ハノイの塔を解くプログラム
-MAIN START
- LD GR0,N
- LD GR1,A
- LD GR2,B
- LD GR3,C
- CALL HANOI
- RET
-HANOI CPA GR0,=1
- JZE DISP
- SUBA GR0,=1
- PUSH 0,GR2
- PUSH 0,GR3
- POP GR2
- POP GR3
- CALL HANOI
- PUSH 0,GR2
- PUSH 0,GR3
- POP GR2
- POP GR3
- CALL DISP
- PUSH 0,GR1
- PUSH 0,GR2
- POP GR1
- POP GR2
- CALL HANOI
- PUSH 0,GR1
- PUSH 0,GR2
- POP GR1
- POP GR2
- ADDA GR0,=1
- RET
-DISP ST GR1,MSG1
- ST GR3,MSG2
- OUT MSG,LNG
- RET
-N DC 3 ; 輪の総数
-LNG DC 11 ; メッセージの長さ
-A DC 'A'
-B DC 'B'
-C DC 'C'
-MSG DC 'from '
-MSG1 DS 1
- DC ' to '
-MSG2 DS 1
- END