gitの設定を変更
[YACASL2.git] / test / integration / CASL2 / minim_call / 0.txt
diff --git a/test/integration/CASL2/minim_call/0.txt b/test/integration/CASL2/minim_call/0.txt
deleted file mode 100644 (file)
index 44b74e3..0000000
+++ /dev/null
@@ -1,677 +0,0 @@
-../../../../casl2 -sla ../../../../as/FUNC/minim_call.casl ../../../../as/FUNC/minim.casl ../../../../as/FUNC/outa.casl
-
-Assemble ../../../../as/FUNC/minim_call.casl (0)
-../../../../as/FUNC/minim_call.casl:1:;;; casl2 minim_call.casl minim.casl outa.casl
-../../../../as/FUNC/minim_call.casl:2:MAIN    START
-../../../../as/FUNC/minim_call.casl:3:        LAD     GR1,DATA
-../../../../as/FUNC/minim_call.casl:4:        LD      GR2,CNT
-../../../../as/FUNC/minim_call.casl:5:        CALL    MINIM
-../../../../as/FUNC/minim_call.casl:6:        LD      GR1,GR0
-../../../../as/FUNC/minim_call.casl:7:        CALL    OUTA
-../../../../as/FUNC/minim_call.casl:8:        RET
-../../../../as/FUNC/minim_call.casl:9:DATA    DC      23,78,2,45,67,-39,86
-../../../../as/FUNC/minim_call.casl:10:CNT     DC      7
-../../../../as/FUNC/minim_call.casl:11:        END
-
-Assemble ../../../../as/FUNC/minim.casl (0)
-../../../../as/FUNC/minim.casl:1:;;; GR1のアドレスに格納されたGR2の個数の値の中で、最小値をGR0に格納する
-../../../../as/FUNC/minim.casl:2:MINIM   START
-../../../../as/FUNC/minim.casl:3:        LD      GR0,0,GR1
-../../../../as/FUNC/minim.casl:4:        ST      GR0,MIN
-../../../../as/FUNC/minim.casl:5:        LAD     GR3,0
-../../../../as/FUNC/minim.casl:6:S1      CPA     GR3,GR2
-../../../../as/FUNC/minim.casl:7:        JZE     LRET
-../../../../as/FUNC/minim.casl:8:        LAD     GR1,1,GR1
-../../../../as/FUNC/minim.casl:9:        LD      GR0,0,GR1
-../../../../as/FUNC/minim.casl:10:        CPA     GR0,MIN
-../../../../as/FUNC/minim.casl:11:        JPL     S2
-../../../../as/FUNC/minim.casl:12:        JZE     S2
-../../../../as/FUNC/minim.casl:13:        ST      GR0,MIN
-../../../../as/FUNC/minim.casl:14:S2      LAD     GR3,1,GR3
-../../../../as/FUNC/minim.casl:15:        JUMP    S1
-../../../../as/FUNC/minim.casl:16:LRET    LD      GR0,MIN
-../../../../as/FUNC/minim.casl:17:        RET
-../../../../as/FUNC/minim.casl:18:MIN     DS      1
-../../../../as/FUNC/minim.casl:19:        END
-
-Assemble ../../../../as/FUNC/outa.casl (0)
-../../../../as/FUNC/outa.casl:1:;;; GR1に格納された値を、10進数の整数値(-32768〜32767)として表示
-../../../../as/FUNC/outa.casl:2:OUTA    START
-../../../../as/FUNC/outa.casl:3:        RPUSH
-../../../../as/FUNC/outa.casl:4:        LAD     GR2,10          ; GR2に10進数の「10」を格納。
-../../../../as/FUNC/outa.casl:5:        LAD     GR0,0           ; GR0 <- 0
-../../../../as/FUNC/outa.casl:6:        LAD     GR4,0           ; 負数フラグ。GR1が負数の場合、GR4は1
-../../../../as/FUNC/outa.casl:7:        ST      GR0,LEN         ; LENの初期化
-../../../../as/FUNC/outa.casl:8:        AND     GR1,GR1         ; GR1をテスト
-../../../../as/FUNC/outa.casl:9:        JZE     ZPRT            ; GR1が0の場合、ZPRTにジャンプ
-../../../../as/FUNC/outa.casl:10:        JPL     STI             ; GR1が正数の場合、STIにジャンプ
-../../../../as/FUNC/outa.casl:11:        LAD     GR4,1           ; GR1が負数の場合、GR4をオン
-../../../../as/FUNC/outa.casl:12:        CALL    OABS            ;                  GR1を正数に変換
-../../../../as/FUNC/outa.casl:13:STI     CPL     GR1,GR2         ; ループ先頭。(GR1 < GR2)の場合は、ループ脱出
-../../../../as/FUNC/outa.casl:14:        JMI     STLST           ; ↓
-../../../../as/FUNC/outa.casl:15:        CALL    ODIVL           ; GR1とGR2の、商をGR0、剰余をGR3に格納
-../../../../as/FUNC/outa.casl:16:        LD      GR1,GR3         ; GR1にGR3をコピー
-../../../../as/FUNC/outa.casl:17:        LD      GR1,NCHAR,GR1   ; GR1を文字に変換
-../../../../as/FUNC/outa.casl:18:        CALL    STSTR           ; GR1をSTR領域に格納
-../../../../as/FUNC/outa.casl:19:        LD      GR1,GR0         ; GR0をGR1にコピー
-../../../../as/FUNC/outa.casl:20:        JUMP    STI             ; ループ終端
-../../../../as/FUNC/outa.casl:21:STLST   LD      GR1,NCHAR,GR1   ; GR1を文字に変換
-../../../../as/FUNC/outa.casl:22:        CALL    STSTR           ; GR1をSTR領域に格納
-../../../../as/FUNC/outa.casl:23:        AND     GR4,GR4         ; 正数の場合
-../../../../as/FUNC/outa.casl:24:        JZE     PRT             ; ↓
-../../../../as/FUNC/outa.casl:25:        LD      GR1,='-'        ; 負数の場合、「-」をSTR領域に格納
-../../../../as/FUNC/outa.casl:26:        CALL    STSTR           ; ↓
-../../../../as/FUNC/outa.casl:27:        JUMP    PRT             ; PRTにジャンプ
-../../../../as/FUNC/outa.casl:28:ZPRT    LD      GR1,NCHAR       ; 「0」をSTR領域に格納
-../../../../as/FUNC/outa.casl:29:        CALL    STSTR           ; ↓
-../../../../as/FUNC/outa.casl:30:PRT     LD      GR2,LEN         ; GR2にLENの値を格納
-../../../../as/FUNC/outa.casl:31:        LAD     GR1,STR         ; GR1に文字列のアドレスを格納
-../../../../as/FUNC/outa.casl:32:        CALL    REV             ; 文字列を逆順に並べ替え
-../../../../as/FUNC/outa.casl:33:        OUT     STR,LEN         ; 文字列を出力
-../../../../as/FUNC/outa.casl:34:        RPOP
-../../../../as/FUNC/outa.casl:35:        RET
-../../../../as/FUNC/outa.casl:36:STR     DS      17
-../../../../as/FUNC/outa.casl:37:LEN     DS      1
-../../../../as/FUNC/outa.casl:38:NCHAR   DC      '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-../../../../as/FUNC/outa.casl:39:        END
-../../../../as/FUNC/outa.casl:40:;; GR1をSTR領域に格納し、LENをインクリメント
-../../../../as/FUNC/outa.casl:41:STSTR   START
-../../../../as/FUNC/outa.casl:42:        PUSH    0,GR1
-../../../../as/FUNC/outa.casl:43:        PUSH    0,GR2
-../../../../as/FUNC/outa.casl:44:        LD      GR2,LEN         ; GR2にLENの値をロード
-../../../../as/FUNC/outa.casl:45:        ST      GR1,STR,GR2     ; STR+GR2 <- GR1
-../../../../as/FUNC/outa.casl:46:        LAD     GR2,1,GR2       ; GR2 <- GR2 + 1
-../../../../as/FUNC/outa.casl:47:        ST      GR2,LEN         ; LENにGR2を格納
-../../../../as/FUNC/outa.casl:48:        POP     GR2
-../../../../as/FUNC/outa.casl:49:        POP     GR1
-../../../../as/FUNC/outa.casl:50:        RET
-../../../../as/FUNC/outa.casl:51:        END
-../../../../as/FUNC/outa.casl:52:;;; GR1の値とGR2の値の、商をGR0、剰余をGR3に格納する
-../../../../as/FUNC/outa.casl:53:;;; 0〜65535の範囲の数値を扱う
-../../../../as/FUNC/outa.casl:54:ODIVL   START
-../../../../as/FUNC/outa.casl:55:        PUSH    0,GR1
-../../../../as/FUNC/outa.casl:56:        PUSH    0,GR2
-../../../../as/FUNC/outa.casl:57:        PUSH    0,GR4
-../../../../as/FUNC/outa.casl:58:        AND     GR2,GR2         ; GR2が0の場合、ODFINへジャンプ
-../../../../as/FUNC/outa.casl:59:        JZE     ODFIN           ; ↓
-../../../../as/FUNC/outa.casl:60:        ST      GR2,ODY         ; ODYにGR2の初期値を保存
-../../../../as/FUNC/outa.casl:61:        LAD     GR0,0           ; GR0の初期化
-../../../../as/FUNC/outa.casl:62:        LAD     GR3,0           ; GR3の初期化
-../../../../as/FUNC/outa.casl:63:        LAD     GR4,1           ; GR4の初期化。対象ビットを表す
-../../../../as/FUNC/outa.casl:64:ODSL    CPL     GR2,GR1         ; ループ先頭。(GR2 > GR1)の場合、ODLOOPへループ脱出
-../../../../as/FUNC/outa.casl:65:        JPL     ODLOOP          ; ↓
-../../../../as/FUNC/outa.casl:66:        SLL     GR4,1           ; GR4を1回左シフト
-../../../../as/FUNC/outa.casl:67:        SLL     GR2,1           ; GR2を1回左シフト
-../../../../as/FUNC/outa.casl:68:        JOV     ODYOV           ; オーバーフローの場合は、ODYOVにジャンプ
-../../../../as/FUNC/outa.casl:69:        JUMP    ODSL            ; ループ終端
-../../../../as/FUNC/outa.casl:70:ODYOV   SRL     GR2,1
-../../../../as/FUNC/outa.casl:71:        LAD     GR2,#8000,GR2
-../../../../as/FUNC/outa.casl:72:        SRL     GR4,1
-../../../../as/FUNC/outa.casl:73:        JUMP    ODLPIN
-../../../../as/FUNC/outa.casl:74:ODLOOP  SRL     GR4,1           ; ループ先頭。GR4を1回右シフト
-../../../../as/FUNC/outa.casl:75:        JZE     ODFIN           ; (GR4 = 0)の場合、ループ脱出
-../../../../as/FUNC/outa.casl:76:        SRL     GR2,1           ; GR2を1回右シフト
-../../../../as/FUNC/outa.casl:77:        CPL     GR1,ODY         ; (GR1 < ODY)の場合、ループ脱出
-../../../../as/FUNC/outa.casl:78:        JMI     ODFIN           ; ↓
-../../../../as/FUNC/outa.casl:79:        CPL     GR1,GR2         ; (GR1 < GR2)の場合、ループ先頭へジャンプ
-../../../../as/FUNC/outa.casl:80:        JMI     ODLOOP          ; ↓
-../../../../as/FUNC/outa.casl:81:ODLPIN  SUBL    GR1,GR2         ; GR1 <- GR1 - GR2
-../../../../as/FUNC/outa.casl:82:        ADDL    GR0,GR4         ; GR0 <- GR0 + GR4
-../../../../as/FUNC/outa.casl:83:        JUMP    ODLOOP          ; ループ終端
-../../../../as/FUNC/outa.casl:84:ODFIN   LD      GR3,GR1
-../../../../as/FUNC/outa.casl:85:        POP   GR4
-../../../../as/FUNC/outa.casl:86:        POP     GR2
-../../../../as/FUNC/outa.casl:87:        POP     GR1
-../../../../as/FUNC/outa.casl:88:        RET
-../../../../as/FUNC/outa.casl:89:ODY     DS      1        
-../../../../as/FUNC/outa.casl:90:        END
-../../../../as/FUNC/outa.casl:91:;; アドレスがGR1、長さがGR2の文字列を逆順に並べ替える
-../../../../as/FUNC/outa.casl:92:;; 例: 12345 -> 54321、54321- -> -12345
-../../../../as/FUNC/outa.casl:93:REV     START
-../../../../as/FUNC/outa.casl:94:        RPUSH
-../../../../as/FUNC/outa.casl:95:        LAD     GR3,0           ; GR3の初期化
-../../../../as/FUNC/outa.casl:96:RPU     CPL     GR3,GR2         ; ループ先頭。(GR3 = GR2)の場合、ループ脱出
-../../../../as/FUNC/outa.casl:97:        JZE     RNEXT           ; ↓
-../../../../as/FUNC/outa.casl:98:        LD      GR4,GR1         ; GR4にGR1の値をコピー
-../../../../as/FUNC/outa.casl:99:        ADDL    GR4,GR3         ; GR4 <- GR4 + GR3
-../../../../as/FUNC/outa.casl:100:        LD      GR5,0,GR4       ; GR5にアドレスGR4の値を格納
-../../../../as/FUNC/outa.casl:101:        PUSH    0,GR5           ; GR5をプッシュ
-../../../../as/FUNC/outa.casl:102:        LAD     GR3,1,GR3       ; GR3 <- GR3 + 1
-../../../../as/FUNC/outa.casl:103:        JUMP    RPU             ; ループ終端
-../../../../as/FUNC/outa.casl:104:RNEXT   LAD     GR3,0           ; GR3の初期化
-../../../../as/FUNC/outa.casl:105:RPO     CPL     GR3,GR2         ; ループ先頭。(GR3 = GR2)の場合、ループ脱出
-../../../../as/FUNC/outa.casl:106:        JZE     RFIN            ; ↓
-../../../../as/FUNC/outa.casl:107:        POP     GR5             ; GR5にポップ
-../../../../as/FUNC/outa.casl:108:        LD      GR4,GR1         ; GR4にGR1の値をコピー
-../../../../as/FUNC/outa.casl:109:        ADDL    GR4,GR3         ; GR4 <- GR4 + GR3
-../../../../as/FUNC/outa.casl:110:        ST      GR5,0,GR4       ; アドレスGR4にGR5の値を格納
-../../../../as/FUNC/outa.casl:111:        LAD     GR3,1,GR3       ; GR3 <- GR3 + 1
-../../../../as/FUNC/outa.casl:112:        JUMP    RPO             ; ループ終端
-../../../../as/FUNC/outa.casl:113:RFIN    RPOP
-../../../../as/FUNC/outa.casl:114:        RET
-../../../../as/FUNC/outa.casl:115:        END
-../../../../as/FUNC/outa.casl:116:;; GR1の値を絶対値に変換する。GR1にはマイナスの数値が格納されていると想定。
-../../../../as/FUNC/outa.casl:117:;; 例: -10 -> 10, -20 -> 20
-../../../../as/FUNC/outa.casl:118:OABS    START
-../../../../as/FUNC/outa.casl:119:        XOR     GR1,=#FFFF      ; GR1の値を反転
-../../../../as/FUNC/outa.casl:120:        LAD     GR1,1,GR1       ; GR1 <- GR1 + 1
-../../../../as/FUNC/outa.casl:121:        RET
-../../../../as/FUNC/outa.casl:122:        END
-
-Label::::
-STI ---> #004E
-ODYOV ---> #00ED
-STSTR ---> #00C2
-STR ---> #008C
-ODY ---> #010B
-MIN ---> #002E
-S1 ---> #0018
-S2 ---> #0027
-RNEXT ---> #0129
-CNT ---> #0011
-RFIN ---> #0137
-REV ---> #010C
-PRT ---> #006C
-OABS ---> #013F
-NCHAR ---> #009E
-DATA ---> #000A
-STLST ---> #005B
-LRET ---> #002B
-MAIN ---> #0000
-ODIVL ---> #00D1
-RPO ---> #012B
-OUTA ---> #002F
-MINIM ---> #0012
-RPU ---> #011C
-ODSL ---> #00E2
-LEN ---> #009D
-ODFIN ---> #0106
-ZPRT ---> #0068
-ODLOOP ---> #00F5
-ODLPIN ---> #0102
-
-Assemble ../../../../as/FUNC/minim_call.casl (1)
-../../../../as/FUNC/minim_call.casl:1:;;; casl2 minim_call.casl minim.casl outa.casl
-../../../../as/FUNC/minim_call.casl:2:MAIN    START
-../../../../as/FUNC/minim_call.casl:3:        LAD     GR1,DATA
-       #0000   #1210
-       #0001   #000A
-../../../../as/FUNC/minim_call.casl:4:        LD      GR2,CNT
-       #0002   #1020
-       #0003   #0011
-../../../../as/FUNC/minim_call.casl:5:        CALL    MINIM
-       #0004   #8000
-       #0005   #0012
-../../../../as/FUNC/minim_call.casl:6:        LD      GR1,GR0
-       #0006   #1410
-../../../../as/FUNC/minim_call.casl:7:        CALL    OUTA
-       #0007   #8000
-       #0008   #002F
-../../../../as/FUNC/minim_call.casl:8:        RET
-       #0009   #8100
-../../../../as/FUNC/minim_call.casl:9:DATA    DC      23,78,2,45,67,-39,86
-       #000A   #0017
-       #000B   #004E
-       #000C   #0002
-       #000D   #002D
-       #000E   #0043
-       #000F   #FFD9
-       #0010   #0056
-../../../../as/FUNC/minim_call.casl:10:CNT     DC      7
-       #0011   #0007
-../../../../as/FUNC/minim_call.casl:11:        END
-
-Assemble ../../../../as/FUNC/minim.casl (1)
-../../../../as/FUNC/minim.casl:1:;;; GR1のアドレスに格納されたGR2の個数の値の中で、最小値をGR0に格納する
-../../../../as/FUNC/minim.casl:2:MINIM   START
-../../../../as/FUNC/minim.casl:3:        LD      GR0,0,GR1
-       #0012   #1001
-       #0013   #0000
-../../../../as/FUNC/minim.casl:4:        ST      GR0,MIN
-       #0014   #1100
-       #0015   #002E
-../../../../as/FUNC/minim.casl:5:        LAD     GR3,0
-       #0016   #1230
-       #0017   #0000
-../../../../as/FUNC/minim.casl:6:S1      CPA     GR3,GR2
-       #0018   #4432
-../../../../as/FUNC/minim.casl:7:        JZE     LRET
-       #0019   #6300
-       #001A   #002B
-../../../../as/FUNC/minim.casl:8:        LAD     GR1,1,GR1
-       #001B   #1211
-       #001C   #0001
-../../../../as/FUNC/minim.casl:9:        LD      GR0,0,GR1
-       #001D   #1001
-       #001E   #0000
-../../../../as/FUNC/minim.casl:10:        CPA     GR0,MIN
-       #001F   #4000
-       #0020   #002E
-../../../../as/FUNC/minim.casl:11:        JPL     S2
-       #0021   #6500
-       #0022   #0027
-../../../../as/FUNC/minim.casl:12:        JZE     S2
-       #0023   #6300
-       #0024   #0027
-../../../../as/FUNC/minim.casl:13:        ST      GR0,MIN
-       #0025   #1100
-       #0026   #002E
-../../../../as/FUNC/minim.casl:14:S2      LAD     GR3,1,GR3
-       #0027   #1233
-       #0028   #0001
-../../../../as/FUNC/minim.casl:15:        JUMP    S1
-       #0029   #6400
-       #002A   #0018
-../../../../as/FUNC/minim.casl:16:LRET    LD      GR0,MIN
-       #002B   #1000
-       #002C   #002E
-../../../../as/FUNC/minim.casl:17:        RET
-       #002D   #8100
-../../../../as/FUNC/minim.casl:18:MIN     DS      1
-       #002E   #0000
-../../../../as/FUNC/minim.casl:19:        END
-
-Assemble ../../../../as/FUNC/outa.casl (1)
-../../../../as/FUNC/outa.casl:1:;;; GR1に格納された値を、10進数の整数値(-32768〜32767)として表示
-../../../../as/FUNC/outa.casl:2:OUTA    START
-../../../../as/FUNC/outa.casl:3:        RPUSH
-       #002F   #7001
-       #0030   #0000
-       #0031   #7002
-       #0032   #0000
-       #0033   #7003
-       #0034   #0000
-       #0035   #7004
-       #0036   #0000
-       #0037   #7005
-       #0038   #0000
-       #0039   #7006
-       #003A   #0000
-       #003B   #7007
-       #003C   #0000
-../../../../as/FUNC/outa.casl:4:        LAD     GR2,10          ; GR2に10進数の「10」を格納。
-       #003D   #1220
-       #003E   #000A
-../../../../as/FUNC/outa.casl:5:        LAD     GR0,0           ; GR0 <- 0
-       #003F   #1200
-       #0040   #0000
-../../../../as/FUNC/outa.casl:6:        LAD     GR4,0           ; 負数フラグ。GR1が負数の場合、GR4は1
-       #0041   #1240
-       #0042   #0000
-../../../../as/FUNC/outa.casl:7:        ST      GR0,LEN         ; LENの初期化
-       #0043   #1100
-       #0044   #009D
-../../../../as/FUNC/outa.casl:8:        AND     GR1,GR1         ; GR1をテスト
-       #0045   #3411
-../../../../as/FUNC/outa.casl:9:        JZE     ZPRT            ; GR1が0の場合、ZPRTにジャンプ
-       #0046   #6300
-       #0047   #0068
-../../../../as/FUNC/outa.casl:10:        JPL     STI             ; GR1が正数の場合、STIにジャンプ
-       #0048   #6500
-       #0049   #004E
-../../../../as/FUNC/outa.casl:11:        LAD     GR4,1           ; GR1が負数の場合、GR4をオン
-       #004A   #1240
-       #004B   #0001
-../../../../as/FUNC/outa.casl:12:        CALL    OABS            ;                  GR1を正数に変換
-       #004C   #8000
-       #004D   #013F
-../../../../as/FUNC/outa.casl:13:STI     CPL     GR1,GR2         ; ループ先頭。(GR1 < GR2)の場合は、ループ脱出
-       #004E   #4512
-../../../../as/FUNC/outa.casl:14:        JMI     STLST           ; ↓
-       #004F   #6100
-       #0050   #005B
-../../../../as/FUNC/outa.casl:15:        CALL    ODIVL           ; GR1とGR2の、商をGR0、剰余をGR3に格納
-       #0051   #8000
-       #0052   #00D1
-../../../../as/FUNC/outa.casl:16:        LD      GR1,GR3         ; GR1にGR3をコピー
-       #0053   #1413
-../../../../as/FUNC/outa.casl:17:        LD      GR1,NCHAR,GR1   ; GR1を文字に変換
-       #0054   #1011
-       #0055   #009E
-../../../../as/FUNC/outa.casl:18:        CALL    STSTR           ; GR1をSTR領域に格納
-       #0056   #8000
-       #0057   #00C2
-../../../../as/FUNC/outa.casl:19:        LD      GR1,GR0         ; GR0をGR1にコピー
-       #0058   #1410
-../../../../as/FUNC/outa.casl:20:        JUMP    STI             ; ループ終端
-       #0059   #6400
-       #005A   #004E
-../../../../as/FUNC/outa.casl:21:STLST   LD      GR1,NCHAR,GR1   ; GR1を文字に変換
-       #005B   #1011
-       #005C   #009E
-../../../../as/FUNC/outa.casl:22:        CALL    STSTR           ; GR1をSTR領域に格納
-       #005D   #8000
-       #005E   #00C2
-../../../../as/FUNC/outa.casl:23:        AND     GR4,GR4         ; 正数の場合
-       #005F   #3444
-../../../../as/FUNC/outa.casl:24:        JZE     PRT             ; ↓
-       #0060   #6300
-       #0061   #006C
-../../../../as/FUNC/outa.casl:25:        LD      GR1,='-'        ; 負数の場合、「-」をSTR領域に格納
-       #0144   #002D
-       #0062   #1010
-       #0063   #0144
-../../../../as/FUNC/outa.casl:26:        CALL    STSTR           ; ↓
-       #0064   #8000
-       #0065   #00C2
-../../../../as/FUNC/outa.casl:27:        JUMP    PRT             ; PRTにジャンプ
-       #0066   #6400
-       #0067   #006C
-../../../../as/FUNC/outa.casl:28:ZPRT    LD      GR1,NCHAR       ; 「0」をSTR領域に格納
-       #0068   #1010
-       #0069   #009E
-../../../../as/FUNC/outa.casl:29:        CALL    STSTR           ; ↓
-       #006A   #8000
-       #006B   #00C2
-../../../../as/FUNC/outa.casl:30:PRT     LD      GR2,LEN         ; GR2にLENの値を格納
-       #006C   #1020
-       #006D   #009D
-../../../../as/FUNC/outa.casl:31:        LAD     GR1,STR         ; GR1に文字列のアドレスを格納
-       #006E   #1210
-       #006F   #008C
-../../../../as/FUNC/outa.casl:32:        CALL    REV             ; 文字列を逆順に並べ替え
-       #0070   #8000
-       #0071   #010C
-../../../../as/FUNC/outa.casl:33:        OUT     STR,LEN         ; 文字列を出力
-       #0072   #7001
-       #0073   #0000
-       #0074   #7002
-       #0075   #0000
-       #0076   #1210
-       #0077   #008C
-       #0078   #1020
-       #0079   #009D
-       #007A   #F000
-       #007B   #0002
-       #007C   #1210
-       #007D   #0145
-       #0145   #000A
-       #007E   #1220
-       #007F   #0001
-       #0080   #F000
-       #0081   #0002
-       #0082   #7120
-       #0083   #7110
-../../../../as/FUNC/outa.casl:34:        RPOP
-       #0084   #7170
-       #0085   #7160
-       #0086   #7150
-       #0087   #7140
-       #0088   #7130
-       #0089   #7120
-       #008A   #7110
-../../../../as/FUNC/outa.casl:35:        RET
-       #008B   #8100
-../../../../as/FUNC/outa.casl:36:STR     DS      17
-       #008C   #0000
-       #008D   #0000
-       #008E   #0000
-       #008F   #0000
-       #0090   #0000
-       #0091   #0000
-       #0092   #0000
-       #0093   #0000
-       #0094   #0000
-       #0095   #0000
-       #0096   #0000
-       #0097   #0000
-       #0098   #0000
-       #0099   #0000
-       #009A   #0000
-       #009B   #0000
-       #009C   #0000
-../../../../as/FUNC/outa.casl:37:LEN     DS      1
-       #009D   #0000
-../../../../as/FUNC/outa.casl:38:NCHAR   DC      '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-       #009E   #0030
-       #009F   #0031
-       #00A0   #0032
-       #00A1   #0033
-       #00A2   #0034
-       #00A3   #0035
-       #00A4   #0036
-       #00A5   #0037
-       #00A6   #0038
-       #00A7   #0039
-       #00A8   #0041
-       #00A9   #0042
-       #00AA   #0043
-       #00AB   #0044
-       #00AC   #0045
-       #00AD   #0046
-       #00AE   #0047
-       #00AF   #0048
-       #00B0   #0049
-       #00B1   #004A
-       #00B2   #004B
-       #00B3   #004C
-       #00B4   #004D
-       #00B5   #004E
-       #00B6   #004F
-       #00B7   #0050
-       #00B8   #0051
-       #00B9   #0052
-       #00BA   #0053
-       #00BB   #0054
-       #00BC   #0055
-       #00BD   #0056
-       #00BE   #0057
-       #00BF   #0058
-       #00C0   #0059
-       #00C1   #005A
-../../../../as/FUNC/outa.casl:39:        END
-../../../../as/FUNC/outa.casl:40:;; GR1をSTR領域に格納し、LENをインクリメント
-../../../../as/FUNC/outa.casl:41:STSTR   START
-../../../../as/FUNC/outa.casl:42:        PUSH    0,GR1
-       #00C2   #7001
-       #00C3   #0000
-../../../../as/FUNC/outa.casl:43:        PUSH    0,GR2
-       #00C4   #7002
-       #00C5   #0000
-../../../../as/FUNC/outa.casl:44:        LD      GR2,LEN         ; GR2にLENの値をロード
-       #00C6   #1020
-       #00C7   #009D
-../../../../as/FUNC/outa.casl:45:        ST      GR1,STR,GR2     ; STR+GR2 <- GR1
-       #00C8   #1112
-       #00C9   #008C
-../../../../as/FUNC/outa.casl:46:        LAD     GR2,1,GR2       ; GR2 <- GR2 + 1
-       #00CA   #1222
-       #00CB   #0001
-../../../../as/FUNC/outa.casl:47:        ST      GR2,LEN         ; LENにGR2を格納
-       #00CC   #1120
-       #00CD   #009D
-../../../../as/FUNC/outa.casl:48:        POP     GR2
-       #00CE   #7120
-../../../../as/FUNC/outa.casl:49:        POP     GR1
-       #00CF   #7110
-../../../../as/FUNC/outa.casl:50:        RET
-       #00D0   #8100
-../../../../as/FUNC/outa.casl:51:        END
-../../../../as/FUNC/outa.casl:52:;;; GR1の値とGR2の値の、商をGR0、剰余をGR3に格納する
-../../../../as/FUNC/outa.casl:53:;;; 0〜65535の範囲の数値を扱う
-../../../../as/FUNC/outa.casl:54:ODIVL   START
-../../../../as/FUNC/outa.casl:55:        PUSH    0,GR1
-       #00D1   #7001
-       #00D2   #0000
-../../../../as/FUNC/outa.casl:56:        PUSH    0,GR2
-       #00D3   #7002
-       #00D4   #0000
-../../../../as/FUNC/outa.casl:57:        PUSH    0,GR4
-       #00D5   #7004
-       #00D6   #0000
-../../../../as/FUNC/outa.casl:58:        AND     GR2,GR2         ; GR2が0の場合、ODFINへジャンプ
-       #00D7   #3422
-../../../../as/FUNC/outa.casl:59:        JZE     ODFIN           ; ↓
-       #00D8   #6300
-       #00D9   #0106
-../../../../as/FUNC/outa.casl:60:        ST      GR2,ODY         ; ODYにGR2の初期値を保存
-       #00DA   #1120
-       #00DB   #010B
-../../../../as/FUNC/outa.casl:61:        LAD     GR0,0           ; GR0の初期化
-       #00DC   #1200
-       #00DD   #0000
-../../../../as/FUNC/outa.casl:62:        LAD     GR3,0           ; GR3の初期化
-       #00DE   #1230
-       #00DF   #0000
-../../../../as/FUNC/outa.casl:63:        LAD     GR4,1           ; GR4の初期化。対象ビットを表す
-       #00E0   #1240
-       #00E1   #0001
-../../../../as/FUNC/outa.casl:64:ODSL    CPL     GR2,GR1         ; ループ先頭。(GR2 > GR1)の場合、ODLOOPへループ脱出
-       #00E2   #4521
-../../../../as/FUNC/outa.casl:65:        JPL     ODLOOP          ; ↓
-       #00E3   #6500
-       #00E4   #00F5
-../../../../as/FUNC/outa.casl:66:        SLL     GR4,1           ; GR4を1回左シフト
-       #00E5   #5240
-       #00E6   #0001
-../../../../as/FUNC/outa.casl:67:        SLL     GR2,1           ; GR2を1回左シフト
-       #00E7   #5220
-       #00E8   #0001
-../../../../as/FUNC/outa.casl:68:        JOV     ODYOV           ; オーバーフローの場合は、ODYOVにジャンプ
-       #00E9   #6600
-       #00EA   #00ED
-../../../../as/FUNC/outa.casl:69:        JUMP    ODSL            ; ループ終端
-       #00EB   #6400
-       #00EC   #00E2
-../../../../as/FUNC/outa.casl:70:ODYOV   SRL     GR2,1
-       #00ED   #5320
-       #00EE   #0001
-../../../../as/FUNC/outa.casl:71:        LAD     GR2,#8000,GR2
-       #00EF   #1222
-       #00F0   #8000
-../../../../as/FUNC/outa.casl:72:        SRL     GR4,1
-       #00F1   #5340
-       #00F2   #0001
-../../../../as/FUNC/outa.casl:73:        JUMP    ODLPIN
-       #00F3   #6400
-       #00F4   #0102
-../../../../as/FUNC/outa.casl:74:ODLOOP  SRL     GR4,1           ; ループ先頭。GR4を1回右シフト
-       #00F5   #5340
-       #00F6   #0001
-../../../../as/FUNC/outa.casl:75:        JZE     ODFIN           ; (GR4 = 0)の場合、ループ脱出
-       #00F7   #6300
-       #00F8   #0106
-../../../../as/FUNC/outa.casl:76:        SRL     GR2,1           ; GR2を1回右シフト
-       #00F9   #5320
-       #00FA   #0001
-../../../../as/FUNC/outa.casl:77:        CPL     GR1,ODY         ; (GR1 < ODY)の場合、ループ脱出
-       #00FB   #4110
-       #00FC   #010B
-../../../../as/FUNC/outa.casl:78:        JMI     ODFIN           ; ↓
-       #00FD   #6100
-       #00FE   #0106
-../../../../as/FUNC/outa.casl:79:        CPL     GR1,GR2         ; (GR1 < GR2)の場合、ループ先頭へジャンプ
-       #00FF   #4512
-../../../../as/FUNC/outa.casl:80:        JMI     ODLOOP          ; ↓
-       #0100   #6100
-       #0101   #00F5
-../../../../as/FUNC/outa.casl:81:ODLPIN  SUBL    GR1,GR2         ; GR1 <- GR1 - GR2
-       #0102   #2712
-../../../../as/FUNC/outa.casl:82:        ADDL    GR0,GR4         ; GR0 <- GR0 + GR4
-       #0103   #2604
-../../../../as/FUNC/outa.casl:83:        JUMP    ODLOOP          ; ループ終端
-       #0104   #6400
-       #0105   #00F5
-../../../../as/FUNC/outa.casl:84:ODFIN   LD      GR3,GR1
-       #0106   #1431
-../../../../as/FUNC/outa.casl:85:        POP   GR4
-       #0107   #7140
-../../../../as/FUNC/outa.casl:86:        POP     GR2
-       #0108   #7120
-../../../../as/FUNC/outa.casl:87:        POP     GR1
-       #0109   #7110
-../../../../as/FUNC/outa.casl:88:        RET
-       #010A   #8100
-../../../../as/FUNC/outa.casl:89:ODY     DS      1        
-       #010B   #0000
-../../../../as/FUNC/outa.casl:90:        END
-../../../../as/FUNC/outa.casl:91:;; アドレスがGR1、長さがGR2の文字列を逆順に並べ替える
-../../../../as/FUNC/outa.casl:92:;; 例: 12345 -> 54321、54321- -> -12345
-../../../../as/FUNC/outa.casl:93:REV     START
-../../../../as/FUNC/outa.casl:94:        RPUSH
-       #010C   #7001
-       #010D   #0000
-       #010E   #7002
-       #010F   #0000
-       #0110   #7003
-       #0111   #0000
-       #0112   #7004
-       #0113   #0000
-       #0114   #7005
-       #0115   #0000
-       #0116   #7006
-       #0117   #0000
-       #0118   #7007
-       #0119   #0000
-../../../../as/FUNC/outa.casl:95:        LAD     GR3,0           ; GR3の初期化
-       #011A   #1230
-       #011B   #0000
-../../../../as/FUNC/outa.casl:96:RPU     CPL     GR3,GR2         ; ループ先頭。(GR3 = GR2)の場合、ループ脱出
-       #011C   #4532
-../../../../as/FUNC/outa.casl:97:        JZE     RNEXT           ; ↓
-       #011D   #6300
-       #011E   #0129
-../../../../as/FUNC/outa.casl:98:        LD      GR4,GR1         ; GR4にGR1の値をコピー
-       #011F   #1441
-../../../../as/FUNC/outa.casl:99:        ADDL    GR4,GR3         ; GR4 <- GR4 + GR3
-       #0120   #2643
-../../../../as/FUNC/outa.casl:100:        LD      GR5,0,GR4       ; GR5にアドレスGR4の値を格納
-       #0121   #1054
-       #0122   #0000
-../../../../as/FUNC/outa.casl:101:        PUSH    0,GR5           ; GR5をプッシュ
-       #0123   #7005
-       #0124   #0000
-../../../../as/FUNC/outa.casl:102:        LAD     GR3,1,GR3       ; GR3 <- GR3 + 1
-       #0125   #1233
-       #0126   #0001
-../../../../as/FUNC/outa.casl:103:        JUMP    RPU             ; ループ終端
-       #0127   #6400
-       #0128   #011C
-../../../../as/FUNC/outa.casl:104:RNEXT   LAD     GR3,0           ; GR3の初期化
-       #0129   #1230
-       #012A   #0000
-../../../../as/FUNC/outa.casl:105:RPO     CPL     GR3,GR2         ; ループ先頭。(GR3 = GR2)の場合、ループ脱出
-       #012B   #4532
-../../../../as/FUNC/outa.casl:106:        JZE     RFIN            ; ↓
-       #012C   #6300
-       #012D   #0137
-../../../../as/FUNC/outa.casl:107:        POP     GR5             ; GR5にポップ
-       #012E   #7150
-../../../../as/FUNC/outa.casl:108:        LD      GR4,GR1         ; GR4にGR1の値をコピー
-       #012F   #1441
-../../../../as/FUNC/outa.casl:109:        ADDL    GR4,GR3         ; GR4 <- GR4 + GR3
-       #0130   #2643
-../../../../as/FUNC/outa.casl:110:        ST      GR5,0,GR4       ; アドレスGR4にGR5の値を格納
-       #0131   #1154
-       #0132   #0000
-../../../../as/FUNC/outa.casl:111:        LAD     GR3,1,GR3       ; GR3 <- GR3 + 1
-       #0133   #1233
-       #0134   #0001
-../../../../as/FUNC/outa.casl:112:        JUMP    RPO             ; ループ終端
-       #0135   #6400
-       #0136   #012B
-../../../../as/FUNC/outa.casl:113:RFIN    RPOP
-       #0137   #7170
-       #0138   #7160
-       #0139   #7150
-       #013A   #7140
-       #013B   #7130
-       #013C   #7120
-       #013D   #7110
-../../../../as/FUNC/outa.casl:114:        RET
-       #013E   #8100
-../../../../as/FUNC/outa.casl:115:        END
-../../../../as/FUNC/outa.casl:116:;; GR1の値を絶対値に変換する。GR1にはマイナスの数値が格納されていると想定。
-../../../../as/FUNC/outa.casl:117:;; 例: -10 -> 10, -20 -> 20
-../../../../as/FUNC/outa.casl:118:OABS    START
-../../../../as/FUNC/outa.casl:119:        XOR     GR1,=#FFFF      ; GR1の値を反転
-       #0146   #FFFF
-       #013F   #3210
-       #0140   #0146
-../../../../as/FUNC/outa.casl:120:        LAD     GR1,1,GR1       ; GR1 <- GR1 + 1
-       #0141   #1211
-       #0142   #0001
-../../../../as/FUNC/outa.casl:121:        RET
-       #0143   #8100
-../../../../as/FUNC/outa.casl:122:        END
--39