*.caslファイルの整理
[YACASL2.git] / as / FUNC / rev.casl
index 09d81d1..8674381 100644 (file)
@@ -1,25 +1,25 @@
 ;; アドレスがGR1、長さがGR2の文字列を逆順に並べ替える
-;; 例: 12345 => 54321、54321- => -12345
+;; 例: 12345 -> 54321、54321- -> -12345
 REV     START
         RPUSH
         LAD     GR3,0           ; GR3の初期化
-RPU     CPL     GR3,GR2         ; ループ開始。(GR3 = GR2)の場合、ループ脱出
-        JZE     RNEXT           ; ↓
+PU      CPL     GR3,GR2         ; ループ先頭。(GR3 = GR2)の場合、ループ脱出
+        JZE     NEXT            ; ↓
         LD      GR4,GR1         ; GR4にGR1の値をコピー
-        ADDL    GR4,GR3         ; GR4 <= GR4 + GR3
+        ADDL    GR4,GR3         ; GR4 <- GR4 + GR3
         LD      GR5,0,GR4       ; GR5にアドレスGR4の値を格納
         PUSH    0,GR5           ; GR5をプッシュ
-        LAD     GR3,1,GR3       ; GR3 <= GR3 + 1
-        JUMP    RPU             ; ループ終了
-RNEXT   LAD     GR3,0           ; GR3の初期化
-RPO     CPL     GR3,GR2         ; ループ開始。(GR3 = GR2)の場合、ループ脱出
-        JZE     RFIN            ; ↓
+        LAD     GR3,1,GR3       ; GR3 <- GR3 + 1
+        JUMP    PU              ; ループ終端
+NEXT    LAD     GR3,0           ; GR3の初期化
+PO      CPL     GR3,GR2         ; ループ先頭。(GR3 = GR2)の場合、ループ脱出
+        JZE     FIN             ; ↓
         POP     GR5             ; GR5にポップ
         LD      GR4,GR1         ; GR4にGR1の値をコピー
-        ADDL    GR4,GR3         ; GR4 <= GR4 + GR3
+        ADDL    GR4,GR3         ; GR4 <- GR4 + GR3
         ST      GR5,0,GR4       ; アドレスGR4にGR5の値を格納
-        LAD     GR3,1,GR3       ; GR3 <= GR3 + 1
-        JUMP    RPO             ; ループ終了
-RFIN    RPOP
+        LAD     GR3,1,GR3       ; GR3 <- GR3 + 1
+        JUMP    PO              ; ループ終端
+FIN     RPOP
         RET
         END