CASL2コードで、ローカル以外のラベルを使わないように修正
[YACASL2.git] / as / FUNC / hanoi.casl
index 6d294e7..da6b56f 100644 (file)
@@ -1,49 +1,46 @@
 ; ハノイの塔を解くプログラム
 ; ハノイの塔を解くプログラム
-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