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