--- /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