+++ /dev/null
-MAIN START
-BEGIN LAD GR1,3
- ADDA GR1,A
- RET
-A DC 1
- END
+++ /dev/null
-MAIN START BEGIN
-BEGIN LAD GR1,32766
- ADDA GR1,A
- RET
-A DC 29
- END
+++ /dev/null
-MAIN START BEGIN
-BEGIN LD GR0,A
- ADDL GR0,B
- ST GR0,C
- RET
-A DC 32766
-B DC 29
-C DS 1
- END
+++ /dev/null
-MAIN START BEGIN
-BEGIN LD GR1,A
- ADDL GR1,B
- ADDL GR1,C
- ADDL GR1,D
- RET
-A DC 32765
-B DC 4
-C DC 32764
-D DC 7
- END
+++ /dev/null
-MAIN START
-BEGIN LAD GR1,#8001
- LAD GR2,#3521
- AND GR1,GR2
- RET
- END
+++ /dev/null
-MAIN START
-BEGIN LAD GR0,#3444
- AND GR0,A
- RET
-A DC #00DD
- END
+++ /dev/null
-MAIN START
-BEGIN LAD GR0,#3444
- AND GR0,=#00DD
- RET
- END
+++ /dev/null
-MAIN START
-BEGIN LAD GR0,#0460
- AND GR0,=#00FF
- RET
- END
+++ /dev/null
-MAIN START BEGIN
-BEGIN LD GR1,A
- CALL COPY
- ST GR2,B
- RET
-A DC 29
-B DS 1
- END
-COPY START
- LD GR2,GR1
- RET
- END
+++ /dev/null
-MAIN START BEGIN
-BEGIN LD GR1,=29
- CALL INCR
- ST GR1,A
- RET
-A DS 1
- END
-INCR START
- ADDA GR1,=1
- RET
-FIN END
+++ /dev/null
-MAIN START BEGIN
-BEGIN LAD GR1,#5000
- LAD GR2,#F000
- CPA GR2,GR1
- RET
- END
+++ /dev/null
-MAIN START
-BEGIN LAD GR1,#5000
- LAD GR2,#F000
- CPL GR1,GR2
- RET
- END
+++ /dev/null
-MAIN START
-BEGIN LAD GR0,#3000
- CPL GR0,A
- RET
-A DC #A000
- END
+++ /dev/null
-MAIN START
-BEGIN LAD GR1,#5000
- ADDL GR1,=#FFFF
- LAD GR2,#F000
- CPL GR1,GR2
- RET
- END
+++ /dev/null
-LAD1 START
- LAD GR1,-1
- LAD GR1,65535,GR1
- RET
- END
+++ /dev/null
-MAIN START BEGIN
-BEGIN LD GR7,A
- LAD GR7,1,GR7
- RET
-A DC 3
- END
+++ /dev/null
-MAIN START
- LD GR0,A
- RET
-A DC 1,1,2,3,5,8
- END
+++ /dev/null
-; LDコマンド
-MAIN START BEGIN
-BEGIN LAD GR0,3
- LD GR1,GR0
- RET
- END
+++ /dev/null
-MAIN START
-BEGIN LD GR1,I
- RET
-I DC 17
- END
+++ /dev/null
-; LDコマンド
-MAIN START BEGIN
-BEGIN LD GR1,A
- LD GR2,B
- ADDL GR1,GR2
- RET
-A DC 32767
-B DC 32675
- END
+++ /dev/null
-; LDコマンド
-MAIN START BEGIN
-BEGIN LAD GR2,1
- LD GR1,A,GR2
- RET
-A DC 1
-B DC 2
- END
+++ /dev/null
-;;; ループを使い、連続でGR1にデータを転送する
-MAIN START
- LAD GR2,0
-MLOOP CPA GR2,LEN
- JZE MEND
- LD GR1,DATA,GR2
- LAD GR2,1,GR2
- JUMP MLOOP
-MEND RET
-DATA DC #9600,#F000,#A400
-LEN DC 3
- END
+++ /dev/null
-; リテラルに「=' '」を指定した場合のテスト
-MAIN START
- LD GR1,=' '
- ST GR1,BUF
- OUT BUF,LEN
- RET
-BUF DS 1
-LEN DC 1
- END
+++ /dev/null
-MAIN START
- OUT BUF,LEN
- RET
-BUF DC '0'
-LEN DC 1
- END
+++ /dev/null
-;;; OUTの使用例
-OTEST START
- OUT IOBUF,IOLEN
- RET
-IOBUF DC 'aaaa',10,'b','c',10,'as','qwerty','111111'
-IOLEN DC 24
- END
+++ /dev/null
-PUSHPOP START
- LAD GR1,1
- LAD GR2,2
- PUSH 0,GR1
- PUSH 0,GR2
- LAD GR1,0
- LAD GR2,0
- POP GR2
- POP GR1
- RET
- END
+++ /dev/null
-SLA2 START BEGIN
-BEGIN LD GR1,X
- SLL GR1,2
- RET
-X DC 3
- END
-
\ No newline at end of file
+++ /dev/null
-SLA2 START BEGIN
-BEGIN LD GR1,X
- SLL GR1,1
- RET
-X DC #4000
- END
-
\ No newline at end of file
+++ /dev/null
-MAIN START
-BEGIN LD GR1,A
- LD GR2,A
- XOR GR1,GR2
- RET
-A DC #8001
-B DC #3521
- END
+++ /dev/null
-MAIN START
-BEGIN LAD GR0,#3444
- LD GR1,A
- XOR GR0,A
- RET
-A DC #00DD
- END
+++ /dev/null
-MAIN START
-BEGIN LAD GR0,#3444
- LD GR1,A
- XOR GR0,A
- RET
-A DC #00DD
- END
+++ /dev/null
-;;; XORで、GR1の内容をクリア
-MAIN START
-BEGIN XOR GR2,GR2
-LOOP CPA GR2,LEN
- JZE FIN
- LD GR1,A,GR2
- XOR GR1,GR1
- LAD GR2,1,GR2
- JUMP LOOP
-FIN RET
-A DC #8001,#8000,#FFFF,#51,#7FFF
-LEN DC 5
- END
+++ /dev/null
-outl.casl: outl_main.casl divl1.casl rev.casl
- cat $^ >$@
-outa.casl: outa_main.casl divl1.casl rev.casl abs.casl
- cat $^ >$@
-outb.casl: outb_main.casl divl1.casl rev.casl
- cat $^ >$@
+++ /dev/null
-;;; 2つの32ビット数値を加算する
-;;; 32ビットの値は、連続する2語の領域に格納
-MAIN START BEGIN
-BEGIN LAD GR1,1 ; GR1にAの下位語を転送
- LD GR1,A,GR1 ; ↓
- LAD GR2,1 ; GR2にBの下位語を転送
- LD GR2,B,GR2 ; ↓
- ADDL GR1,GR2 ; GR1 <- GR1 + GR2
- JOV CARR ; オーバーフロー時は、CARRにジャンプ
- JUMP STL
-CARR LAD GR2,1 ; Cの上位語に1を格納
- ST GR2,C ; ↓
-STL LAD GR2,1 ; Cの下位語にGR1の内容を格納
- ST GR1,C,GR2 ; ↓
- LD GR1,A ; GR1にAの上位語を転送
- ADDL GR1,B ; GR1 <- GR1 + B
- ADDL GR1,C ; GR1 <- GR1 + C
- RET
-A DC 0,65534
-B DC 0,65535
-C DS 2
- END
+++ /dev/null
-COUNT1 START
-; 入力 GR1:検索する語
-; 処理 GR1中の'1'のビットの個数を求める
-; 出力 GR0:GR1中の'1'のビットの個数
- PUSH 0,GR1
- PUSH 0,GR2
- SUBA GR2,GR2
- AND GR1,GR1
- JZE RETURN
-MORE LAD GR2,1,GR2
- LAD GR0,-1,GR1
- AND GR1,GR0
- JNZ MORE
-RETURN LD GR0,GR2
- POP GR2
- POP GR1
- RET
- END
+++ /dev/null
-;;; -32767〜32767の範囲にある整数の割算(筆算方式)を行う
-;;; 入力 GR1:被除数 GR2:除数
-;;; 出力 GR0:商 GR3:剰余
-;;; GR2が0の場合は、GR0、GR3とも0になり、オーバーフロー
-DIVL START
- PUSH 0,GR1
- PUSH 0,GR2
- PUSH 0,GR4
- AND GR2,GR2 ; (GR2 = 0)の場合、DIVZEROへジャンプ
- JZE DIVZERO ; ↓
- ST GR2,Y ; YにGR2の初期値を保存
- XOR GR0,GR0 ; GR0の初期化
- XOR GR3,GR3 ; GR3の初期化
- LAD GR4,1 ; GR4の初期化。対象ビットを表す
-SL CPL GR2,GR1 ; ループ先頭。(GR2 > GR1)の場合、LOOPへループ脱出
- JPL LOOP ; ↓
- SLL GR4,1 ; GR4を1回左シフト
- ST GR2,TMP ; GR2の値をTMPに退避
- SLL GR2,1 ; GR2を1回左シフト
- JOV YOV ; オーバーフローの場合は、YOVへジャンプ
- JUMP SL ; ループ終端
-YOV LD GR2,TMP ; GR2の値をTMPから復元
- SRL GR4,1 ; GR4を1回右シフト
- JUMP LPIN ; LPINへジャンプ
-LOOP SRL GR4,1 ; ループ先頭。GR4を1回右シフト
- JZE SETMOD ; (GR4 = 0)の場合、SETMODへループ脱出
- SRL GR2,1 ; GR2を1回右シフト
- CPL GR1,Y ; (GR1 < Y)の場合、SETMODへループ脱出
- JMI SETMOD ; ↓
- CPL GR1,GR2 ; (GR1 < GR2)の場合、ループ先頭へジャンプ
- JMI LOOP ; ↓
-LPIN SUBL GR1,GR2 ; GR1 <- GR1 - GR2
- ADDL GR0,GR4 ; GR0 <- GR0 + GR4
- JUMP LOOP ; ループ終端
-DIVZERO LAD GR3,#8000 ; 強制的にオーバーフローを発生させ、GR3 <- 0
- SLL GR3,1 ; ↓
- JUMP FIN ; FIN へジャンプ
-SETMOD LD GR3,GR1 ; GR3 <- GR1。剰余の設定
-FIN POP GR4
- POP GR2
- POP GR1
- RET
-Y DS 1
-TMP DS 1
- END
+++ /dev/null
-;;; 入力された数値をGR0で返す
-INL START
- RPUSH
- IN IBUF,ILEN
- LAD GR1,0
- LAD GR2,10 ; 10進数の「10」
- LAD GR3,0 ; 値の一時格納
- LAD GR4,0 ; インデックス
-ISTOL CPL GR4,ILEN ; ループ先頭。(GR4 = ILEN)の場合、ループ脱出
- JZE ICP ; ↓
- LD GR1,IBUF,GR4
- CPL GR1,INCHR ; (GR1 < (INCHR = '0'))の場合、IOVへジャンプ
- JMI IOV ; ↓
- CPL GR1,='9' ; (GR1 > '9')の場合、IOVへジャンプ
- JPL IOV ; ↓
- SUBL GR1,INCHR
- ST GR4,NLEN
- LD GR4,ILEN
- SUBA GR4,NLEN
-MUL10 CPL GR4,=1
- JZE ISNEXT
- CALL MULL
- LD GR1,GR0
- LAD GR4,-1,GR4
- JUMP MUL10
-ISNEXT LD GR4,NLEN
- ADDL GR3,GR1
- LAD GR4,1,GR4
- JUMP ISTOL ; ループ終端
-IOV LAD GR0,1
- ADDL GR0,=#FFFF
- JUMP IFIN
-ICP LD GR0,GR3
-IFIN RPOP
- RET
-INCHR DC '0123456789'
-IBUF DS 5
-ILEN DS 1
-NLEN DS 1
- END
-;GR1の値とGR2の値の積をGR0に格納
-MULL START
- RPUSH
- LAD GR3,1 ; 対象ビット
- LAD GR0,0 ; 積
-MLOOP CPL GR3,GR2 ; ループ先頭。(GR2 = GR3)の場合、ループ脱出
- JPL MFIN ; ↓
- PUSH 0,GR3 ; GR2の、GR3が示したビットが0の場合、MNEXTへジャンプ
- AND GR3,GR2 ; ↓
- POP GR3 ; ↓
- JZE MNEXT ; ↓
- ADDL GR0,GR1 ; GR0 <- GR0 + GR1
- JOV MFIN ; オーバーフローした場合、ループ脱出
-MNEXT SLL GR3,1 ; GR3を1回左シフト
- SLL GR1,1 ; GR1を1回左シフト
- JOV MFIN ; オーバーフローした場合、ループ脱出
- JUMP MLOOP ; ループ終端
-MFIN RPOP
- RET
- END
+++ /dev/null
-;;; casl2 inl_call.casl outl.casl
-MAIN START
- CALL INL
- JOV NAN
- LD GR1,GR0
- CALL OUTL
- JUMP FIN
-NAN OUT NANMSG,MLEN
-FIN RET
-NANMSG DC 'Not A Number'
-MLEN DC 12
- END
+++ /dev/null
-;;; GR1のアドレスに格納されたGR2の個数の値の中で、最小値をGR0に格納する
-MINIM START
- LD GR0,0,GR1
- ST GR0,MIN
- LAD GR3,0
-S1 CPA GR3,GR2
- JZE LRET
- LAD GR1,1,GR1
- LD GR0,0,GR1
- CPA GR0,MIN
- JPL S2
- JZE S2
- ST GR0,MIN
-S2 LAD GR3,1,GR3
- JUMP S1
-LRET LD GR0,MIN
- RET
-MIN DS 1
- END
+++ /dev/null
-;;; GR1に格納された値を、10進数の整数値(-32768〜32767)として表示
-OUTA START
- RPUSH
- LAD GR2,10 ; GR2に10進数の「10」を格納。
- LAD GR0,0 ; GR0 <- 0
- LAD GR4,0 ; 負数フラグ。GR1が負数の場合、GR4は1
- ST GR0,LEN ; LENの初期化
- AND GR1,GR1 ; GR1をテスト
- JZE ZPRT ; GR1が0の場合、ZPRTにジャンプ
- JPL STI ; GR1が正数の場合、STIにジャンプ
- LAD GR4,1 ; GR1が負数の場合、GR4をオン
- CALL OABS ; GR1を正数に変換
-STI CPL GR1,GR2 ; ループ先頭。(GR1 < GR2)の場合は、ループ脱出
- JMI STLST ; ↓
- CALL ODIVL ; GR1とGR2の、商をGR0、剰余をGR3に格納
- LD GR1,GR3 ; GR1にGR3をコピー
- LD GR1,NCHAR,GR1 ; GR1を文字に変換
- CALL STSTR ; GR1をSTR領域に格納
- LD GR1,GR0 ; GR0をGR1にコピー
- JUMP STI ; ループ終端
-STLST LD GR1,NCHAR,GR1 ; GR1を文字に変換
- CALL STSTR ; GR1をSTR領域に格納
- AND GR4,GR4 ; 正数の場合
- JZE PRT ; ↓
- LD GR1,='-' ; 負数の場合、「-」をSTR領域に格納
- CALL STSTR ; ↓
- JUMP PRT ; PRTにジャンプ
-ZPRT LD GR1,NCHAR ; 「0」をSTR領域に格納
- CALL STSTR ; ↓
-PRT LD GR2,LEN ; GR2にLENの値を格納
- LAD GR1,STR ; GR1に文字列のアドレスを格納
- CALL REV ; 文字列を逆順に並べ替え
- OUT STR,LEN ; 文字列を出力
- RPOP
- RET
-STR DS 17
-LEN DS 1
-NCHAR DC '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ'
- END
-;; GR1をSTR領域に格納し、LENをインクリメント
-STSTR START
- PUSH 0,GR1
- PUSH 0,GR2
- LD GR2,LEN ; GR2にLENの値をロード
- ST GR1,STR,GR2 ; STR+GR2 <- GR1
- LAD GR2,1,GR2 ; GR2 <- GR2 + 1
- ST GR2,LEN ; LENにGR2を格納
- POP GR2
- POP GR1
- RET
- END
-;;; GR1の値とGR2の値の、商をGR0、剰余をGR3に格納する
-;;; 0〜65535の範囲の数値を扱う
-ODIVL START
- PUSH 0,GR1
- AND GR2,GR2 ; (GR2 = 0)の場合、ODYZへジャンプ
- JZE ODYZ ; ↓
- LAD GR0,0 ; GR0を初期化
- LD GR3,GR1 ; GR3 <- GR1
-ODLOOP CPL GR3,GR2 ; ループ先頭。(GR3 < GR2)の場合、終了
- JMI ODFIN ; ↓
- SUBL GR3,GR2 ; GR3 <- GR3 - GR2
- ADDL GR0,ODONE ; ↓
- JUMP ODLOOP ; ループ終端
-ODYZ LAD GR3,#FFFF ; 強制的にオーバーフローを発生させ、GR3 <- 0
- ADDL GR3,=1 ; ↓
- JUMP ODFIN ; ODFINへジャンプ
-ODFIN POP GR1
- RET
-ODONE DC 1
- END
-;; アドレスがGR1、長さがGR2の文字列を逆順に並べ替える
-;; 例: 12345 -> 54321、54321- -> -12345
-REV START
- RPUSH
- LAD GR3,0 ; GR3の初期化
-RPU CPL GR3,GR2 ; ループ先頭。(GR3 = GR2)の場合、ループ脱出
- JZE RNEXT ; ↓
- LD GR4,GR1 ; GR4にGR1の値をコピー
- 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 ; ↓
- POP GR5 ; GR5にポップ
- LD GR4,GR1 ; GR4にGR1の値をコピー
- ADDL GR4,GR3 ; GR4 <- GR4 + GR3
- ST GR5,0,GR4 ; アドレスGR4にGR5の値を格納
- LAD GR3,1,GR3 ; GR3 <- GR3 + 1
- JUMP RPO ; ループ終端
-RFIN RPOP
- RET
- END
-;; GR1の値を絶対値に変換する。GR1にはマイナスの数値が格納されていると想定。
-;; 例: -10 -> 10, -20 -> 20
-OABS START
- XOR GR1,=#FFFF ; GR1の値を反転
- LAD GR1,1,GR1 ; GR1 <- GR1 + 1
- RET
- END
+++ /dev/null
-;;; sum.casl
-;;; 入力 GR1: 1以上の正数
-;;; 出力 GR2: 1からGR1で指定された値までの正数をすべて加算した値。
-;;; オーバーフローした場合は、#FFFF
-SUM START
- LAD GR2,0
- LAD GR3,1
-LOOP CPL GR3,GR1
- JPL FIN
- ADDL GR2,GR3
- JOV OV
- LAD GR3,1,GR3
- JUMP LOOP
-OV LAD GR2,#FFFF
-FIN RET
- END
--- /dev/null
+.PHONY: clean
+
+$(TARGET): $(SRCFILE)
+ @cat $^ >$@
+clean:
+ @rm $(TARGET)
--- /dev/null
+SRCDIR = `ls -d *src`
+.PHONY: all clean
+all:
+ @for target in $(SRCDIR); do $(MAKE) -C $$target; done
+clean:
+ @for target in $(SRCDIR); do $(MAKE) -C $$target clean; done
--- /dev/null
+;;; 2つの32ビット数値を加算する
+;;; 32ビットの値は、連続する2語の領域に格納
+;;; 入力 GR1:数値1の先頭アドレス GR2:数値2の先頭アドレス
+;;; 出力 GR0:和の先頭アドレス
+ADDL32 START
+ RPUSH
+ ST GR1,X ; X <- GR1:数値1
+ ST GR2,Y ; Y <- GR2:数値2
+ LD GR3,LEN ; GR3:語を表すインデックス 初期化
+ XOR GR4,GR4 ; GR4:キャリー値 初期化
+ LAD GR3,-1,GR3 ; ↓
+LOOP AND GR3,GR3 ; ループ先頭。(GR3 = 0)の場合は、ループ脱出
+ JMI FIN ; ↓
+ LD GR1,X ; GR1 <- (X + GR3)の値
+ ADDL GR1,GR3 ; ↓
+ LD GR1,0,GR1 ; ↓
+ LD GR2,Y ; GR2 <- (Y + GR3)の値
+ ADDL GR2,GR3 ; ↓
+ LD GR2,0,GR2 ; ↓
+ ADDL GR1,GR2 ; GR1 <- GR1 + GR2
+ JOV CRRY ; オーバーフロー時は、CRRYへジャンプ
+ ADDL GR1,GR4 ; GR1 <- GR1 + GR4
+ JOV CRRY ; オーバーフロー時は、CRRYへジャンプ
+ ST GR1,A,GR3 ; (A + GR3) <- GR1
+ LAD GR3,-1,GR3 ; GR3 <- GR3 - 1
+ XOR GR4,GR4 ; GR4 <- 0
+ JUMP LOOP ; ループ先頭へジャンプ
+CRRY AND GR3,GR3 ; 最上位の語でオーバーフローした場合、OVへジャンプ
+ JMI OV ; ↓
+ ST GR1,A,GR3 ; (A + GR3) <- GR1
+ LAD GR3,-1,GR3 ; GR3 <- GR3 - 1
+ LAD GR4,1 ; GR4 <- 1
+ JUMP LOOP ; ループ終端
+OV LAD GR3,=#8000 ; 強制的にオーバーフロー発生
+ SLL GR3,1 ; ↓
+FIN LAD GR0,A ; GR0 <- A
+ RPOP
+ RET
+X DS 1 ; 数値1のアドレス
+Y DS 1 ; 数値2のアドレス
+A DS 2 ; 和
+LEN DC 2 ; 数値の語数
+ END
--- /dev/null
+;;; -32767〜32767の範囲にある整数の割算(筆算方式)を行う
+;;; 入力 GR1:被除数 GR2:除数
+;;; 出力 GR0:商 GR3:剰余
+;;; GR2が0の場合は、GR0、GR3とも0になり、オーバーフロー
+DIVL START
+ RET
+ END
;;; 0〜65535の範囲にある正数の割算(筆算方式)を行う
;;; 入力 GR1:被除数 GR2:除数
;;; 出力 GR0:商 GR3:剰余
-;;; GR2が0の場合は、GR0、GR3とも0になり、オーバーフロー
+;;; (GR2 = 0)の場合、GR0 GR3とも0になり、オーバーフロー
DIVL START
PUSH 0,GR1
PUSH 0,GR2
PUSH 0,GR4
+ XOR GR0,GR0 ; GR0:商 初期化
+ XOR GR3,GR3 ; GR3:剰余 初期化
AND GR2,GR2 ; (GR2 = 0)の場合、DIVZEROへジャンプ
JZE DIVZERO ; ↓
+ AND GR1,GR1 ; (GR1 = 0)の場合、FINへジャンプ
+ JZE FIN ; ↓
ST GR2,Y ; YにGR2の初期値を保存
- XOR GR0,GR0 ; GR0の初期化
- XOR GR3,GR3 ; GR3の初期化
- LAD GR4,1 ; GR4の初期化。対象ビットを表す
+ LAD GR4,1 ; GR4:対象ビットのインデックス 初期化
SL CPL GR2,GR1 ; ループ先頭。(GR2 > GR1)の場合、LOOPへループ脱出
JPL LOOP ; ↓
SLL GR4,1 ; GR4を1回左シフト
--- /dev/null
+;;; 数値の入力を受け付ける
+;;; 入力 (SVC)
+;;; 出力 GR1: 入力された数値 GR0: 文字の長さ
+INL START
+ PUSH 0,GR2
+ PUSH 0,GR3
+ PUSH 0,GR4
+ IN IBUF,ILEN ; 入力文字列を格納
+ LD GR0,ILEN ; ILEN = 0の場合、FINへジャンプ
+ JZE FIN ; ↓
+ XOR GR1,GR1 ; GR1:各桁の数値 初期化
+ LAD GR2,10 ; GR2:10進数の「10」 初期化
+ LAD GR3,0 ; GR3:値の一時格納 初期化
+ LAD GR4,0 ; GR4:インデックス 初期化
+STOL CPL GR4,ILEN ; ループ先頭。(GR4 = ILEN)の場合、ループ脱出
+ JZE CP ; ↓
+ LD GR1,IBUF,GR4 ; GR1に、入力文字列中の次の桁を格納
+ CPL GR1,ZERO ; (GR1 < '0')の場合、IOVへジャンプ
+ JMI OV ; ↓
+ CPL GR1,NINE ; (GR1 > '9')の場合、IOVへジャンプ
+ JPL OV ; ↓
+ SUBL GR1,ZERO ; GR1の文字を、対応する数値に変換
+ ST GR4,NLEN ; GR4 <- ILEN - NLEN - 1
+ LD GR4,ILEN ; ↓
+ SUBA GR4,NLEN ; ↓
+MUL10 CPA GR4,=1 ; ループ先頭。GR1 <- 10 ** GR4
+ JZE NEXT ; (GR4 = 1)の場合、ループ脱出
+ JMI NEXT ; ↓
+ CALL MULL ; MULLを呼び出し、GR0 <- GR1 * GR2
+ LD GR1,GR0 ; GR1 <- GR0
+ LAD GR4,-1,GR4 ; GR4 <- GR4 -1
+ JUMP MUL10 ; ループ終端
+NEXT LD GR4,NLEN ; GR4 <- NLEN。復元
+ ADDL GR3,GR1 ; GR3 <- GR3 + GR1
+ LAD GR4,1,GR4 ; GR4 <- GR4 + 1
+ JUMP STOL ; ループ終端
+OV LAD GR0,#8000 ; GR0 <- 0。オーバーフローを強制的に発生させる
+ SLL GR0,1 ; ↓
+ JUMP FIN ; FINへジャンプ
+CP LD GR1,GR3 ; GR0 <- GR3
+ LD GR0,ILEN ; GR0 <- ILEN
+FIN POP GR4
+ POP GR3
+ POP GR2
+ RET
+ZERO DC '0'
+NINE DC '9'
+IBUF DS 5
+ILEN DS 1
+NLEN DS 1
+ END
+;;; 0〜65535の範囲にある正数のかけ算(筆算方式)を行う
+;;; 入力 GR1:被乗数 GR2:乗数
+;;; 出力 GR0:積
+;;; 積が65535より大きい場合は、GR0は積の下位16ビットになり、オーバーフロー
+MULL START
+ PUSH 0,GR1
+ PUSH 0,GR3
+ XOR GR0,GR0 ; 積
+ AND GR1,GR1 ; (GR1 = 0)の場合、終了
+ JZE FIN ; ↓
+ AND GR2,GR2 ; (GR2 = 0)の場合、終了
+ JZE FIN ; ↓
+ LAD GR3,1 ; 対象ビット
+LOOP PUSH 0,GR3 ; ループ先頭。GR2のビット中でGR3が示すビットが0の場合、NEXTへジャンプ
+ AND GR3,GR2 ; ↓
+ POP GR3 ; ↓
+ JZE NEXT ; ↓
+ ADDL GR0,GR1 ; GR0 <- GR0 + GR1
+ JOV FIN ; GR0がオーバーフローした場合、ループ脱出
+NEXT SLL GR3,1 ; GR3を1回左シフト
+ AND GR3,GR3 ; (GR3 = 0)の場合、ループ脱出
+ JZE FIN ; ↓
+ CPL GR3,GR2 ; (GR3 > GR2)の場合、ループ脱出
+ JPL FIN ; ↓
+ SLL GR1,1 ; GR1を1回左シフト
+ JOV FIN ; GR1がオーバーフローした場合、ループ脱出
+ JUMP LOOP ; ループ終端
+FIN POP GR3
+ POP GR1
+ RET
+ END
--- /dev/null
+TARGET = ../inl.casl
+SRCFILE = inl_main.casl ../mull.casl
+include ../BUILD.mk
--- /dev/null
+;;; 数値の入力を受け付ける
+;;; 入力 (SVC)
+;;; 出力 GR1: 入力された数値 GR0: 文字の長さ
+INL START
+ PUSH 0,GR2
+ PUSH 0,GR3
+ PUSH 0,GR4
+ IN IBUF,ILEN ; 入力文字列を格納
+ LD GR0,ILEN ; ILEN = 0の場合、FINへジャンプ
+ JZE FIN ; ↓
+ XOR GR1,GR1 ; GR1:各桁の数値 初期化
+ LAD GR2,10 ; GR2:10進数の「10」 初期化
+ LAD GR3,0 ; GR3:値の一時格納 初期化
+ LAD GR4,0 ; GR4:インデックス 初期化
+STOL CPL GR4,ILEN ; ループ先頭。(GR4 = ILEN)の場合、ループ脱出
+ JZE CP ; ↓
+ LD GR1,IBUF,GR4 ; GR1に、入力文字列中の次の桁を格納
+ CPL GR1,ZERO ; (GR1 < '0')の場合、IOVへジャンプ
+ JMI OV ; ↓
+ CPL GR1,NINE ; (GR1 > '9')の場合、IOVへジャンプ
+ JPL OV ; ↓
+ SUBL GR1,ZERO ; GR1の文字を、対応する数値に変換
+ ST GR4,NLEN ; GR4 <- ILEN - NLEN - 1
+ LD GR4,ILEN ; ↓
+ SUBA GR4,NLEN ; ↓
+MUL10 CPA GR4,=1 ; ループ先頭。GR1 <- 10 ** GR4
+ JZE NEXT ; (GR4 = 1)の場合、ループ脱出
+ JMI NEXT ; ↓
+ CALL MULL ; MULLを呼び出し、GR0 <- GR1 * GR2
+ LD GR1,GR0 ; GR1 <- GR0
+ LAD GR4,-1,GR4 ; GR4 <- GR4 -1
+ JUMP MUL10 ; ループ終端
+NEXT LD GR4,NLEN ; GR4 <- NLEN。復元
+ ADDL GR3,GR1 ; GR3 <- GR3 + GR1
+ LAD GR4,1,GR4 ; GR4 <- GR4 + 1
+ JUMP STOL ; ループ終端
+OV LAD GR0,#8000 ; GR0 <- 0。オーバーフローを強制的に発生させる
+ SLL GR0,1 ; ↓
+ JUMP FIN ; FINへジャンプ
+CP LD GR1,GR3 ; GR0 <- GR3
+ LD GR0,ILEN ; GR0 <- ILEN
+FIN POP GR4
+ POP GR3
+ POP GR2
+ RET
+ZERO DC '0'
+NINE DC '9'
+IBUF DS 5
+ILEN DS 1
+NLEN DS 1
+ END
--- /dev/null
+;;; 複数のWORD値の中から、最小値を返す
+;;; 入力: GR1: WORD値を格納したアドレス GR2: 値の個数
+;;; 出力: GR0: 最小値
+MINIM START
+ RPUSH
+ LD GR0,0,GR1 ; MIN <- GR1アドレスの値
+ ST GR0,MIN ; ↓
+ LAD GR3,0 ; GR3:インデックス 初期化
+S1 CPA GR3,GR2 ; ループ先頭。(GR2 = GR3)の場合、終了
+ JZE RET ; ↓
+ LAD GR1,1,GR1 ; GR1 <- GR1 + 1
+ LD GR0,0,GR1 ;
+ CPA GR0,MIN ;
+ JPL S2 ;
+ JZE S2 ;
+ ST GR0,MIN ;
+S2 LAD GR3,1,GR3 ;
+ JUMP S1 ;
+RET LD GR0,MIN ;
+ RPOP
+ RET
+MIN DS 1 ; 最小値を格納
+ END
--- /dev/null
+TARGET = ../mula.casl
+SRCFILE = mula_main.casl ../mull.casl
+include ../BUILD.mk
;;; 0〜65535の範囲にある正数の割算(筆算方式)を行う
;;; 入力 GR1:被除数 GR2:除数
;;; 出力 GR0:商 GR3:剰余
-;;; GR2が0の場合は、GR0、GR3とも0になり、オーバーフロー
+;;; (GR2 = 0)の場合、GR0 GR3とも0になり、オーバーフロー
DIVL START
PUSH 0,GR1
PUSH 0,GR2
PUSH 0,GR4
+ XOR GR0,GR0 ; GR0:商 初期化
+ XOR GR3,GR3 ; GR3:剰余 初期化
AND GR2,GR2 ; (GR2 = 0)の場合、DIVZEROへジャンプ
JZE DIVZERO ; ↓
+ AND GR1,GR1 ; (GR1 = 0)の場合、FINへジャンプ
+ JZE FIN ; ↓
ST GR2,Y ; YにGR2の初期値を保存
- LAD GR0,0 ; GR0の初期化
- LAD GR3,0 ; GR3の初期化
- LAD GR4,1 ; GR4の初期化。対象ビットを表す
+ LAD GR4,1 ; GR4:対象ビットのインデックス 初期化
SL CPL GR2,GR1 ; ループ先頭。(GR2 > GR1)の場合、LOOPへループ脱出
JPL LOOP ; ↓
SLL GR4,1 ; GR4を1回左シフト
DIVZERO LAD GR3,#8000 ; 強制的にオーバーフローを発生させ、GR3 <- 0
SLL GR3,1 ; ↓
JUMP FIN ; FIN へジャンプ
-SETMOD LD GR3,GR1
+SETMOD LD GR3,GR1 ; GR3 <- GR1。剰余の設定
FIN POP GR4
POP GR2
POP GR1
Y DS 1
TMP DS 1
END
-;; アドレスがGR1、長さがGR2の文字列を逆順に並べ替える
-;; 例: 12345 -> 54321、54321- -> -12345
+;;; メモリー上にある指定されたアドレス、長さの文字列を逆順に並べ替える
+;;; 例: 12345 -> 54321、54321- -> -12345
+;;; 入力 GR1:文字列のアドレス GR2:文字列の長さ
+;;; 出力 (同上)
REV START
RPUSH
LAD GR3,0 ; GR3の初期化
PU CPL GR3,GR2 ; ループ先頭。(GR3 = GR2)の場合、ループ脱出
JZE NEXT ; ↓
- LD GR4,GR1 ; GR4にGR1の値をコピー
+ LD GR4,GR1 ; GR4 <- GR1
ADDL GR4,GR3 ; GR4 <- GR4 + GR3
- LD GR5,0,GR4 ; GR5にアドレスGR4の値を格納
+ LD GR5,0,GR4 ; GR5 <- GR4アドレスの値
PUSH 0,GR5 ; GR5をプッシュ
LAD GR3,1,GR3 ; GR3 <- GR3 + 1
JUMP PU ; ループ終端
POP GR5 ; GR5にポップ
LD GR4,GR1 ; GR4にGR1の値をコピー
ADDL GR4,GR3 ; GR4 <- GR4 + GR3
- ST GR5,0,GR4 ; アドレスGR4にGR5の値を格納
+ ST GR5,0,GR4 ; GR4のアドレス <- GR5の値
LAD GR3,1,GR3 ; GR3 <- GR3 + 1
JUMP PO ; ループ終端
FIN RPOP
RET
END
-;;; GR1を絶対値に変換する
-ABS START
- AND GR1,GR1
- JPL FIN
- JZE FIN
- XOR GR1,=#FFFF
- ADDA GR1,=1
-FIN RET
- END
--- /dev/null
+TARGET = ../outa.casl
+SRCFILE = outa_main.casl ../divl.casl ../rev.casl
+include ../BUILD.mk
;;; 0〜65535の範囲にある正数の割算(筆算方式)を行う
;;; 入力 GR1:被除数 GR2:除数
;;; 出力 GR0:商 GR3:剰余
-;;; GR2が0の場合は、GR0、GR3とも0になり、オーバーフロー
+;;; (GR2 = 0)の場合、GR0 GR3とも0になり、オーバーフロー
DIVL START
PUSH 0,GR1
PUSH 0,GR2
PUSH 0,GR4
+ XOR GR0,GR0 ; GR0:商 初期化
+ XOR GR3,GR3 ; GR3:剰余 初期化
AND GR2,GR2 ; (GR2 = 0)の場合、DIVZEROへジャンプ
JZE DIVZERO ; ↓
+ AND GR1,GR1 ; (GR1 = 0)の場合、FINへジャンプ
+ JZE FIN ; ↓
ST GR2,Y ; YにGR2の初期値を保存
- LAD GR0,0 ; GR0の初期化
- LAD GR3,0 ; GR3の初期化
- LAD GR4,1 ; GR4の初期化。対象ビットを表す
+ LAD GR4,1 ; GR4:対象ビットのインデックス 初期化
SL CPL GR2,GR1 ; ループ先頭。(GR2 > GR1)の場合、LOOPへループ脱出
JPL LOOP ; ↓
SLL GR4,1 ; GR4を1回左シフト
DIVZERO LAD GR3,#8000 ; 強制的にオーバーフローを発生させ、GR3 <- 0
SLL GR3,1 ; ↓
JUMP FIN ; FIN へジャンプ
-SETMOD LD GR3,GR1
+SETMOD LD GR3,GR1 ; GR3 <- GR1。剰余の設定
FIN POP GR4
POP GR2
POP GR1
Y DS 1
TMP DS 1
END
-;; アドレスがGR1、長さがGR2の文字列を逆順に並べ替える
-;; 例: 12345 -> 54321、54321- -> -12345
+;;; メモリー上にある指定されたアドレス、長さの文字列を逆順に並べ替える
+;;; 例: 12345 -> 54321、54321- -> -12345
+;;; 入力 GR1:文字列のアドレス GR2:文字列の長さ
+;;; 出力 (同上)
REV START
RPUSH
LAD GR3,0 ; GR3の初期化
PU CPL GR3,GR2 ; ループ先頭。(GR3 = GR2)の場合、ループ脱出
JZE NEXT ; ↓
- LD GR4,GR1 ; GR4にGR1の値をコピー
+ LD GR4,GR1 ; GR4 <- GR1
ADDL GR4,GR3 ; GR4 <- GR4 + GR3
- LD GR5,0,GR4 ; GR5にアドレスGR4の値を格納
+ LD GR5,0,GR4 ; GR5 <- GR4アドレスの値
PUSH 0,GR5 ; GR5をプッシュ
LAD GR3,1,GR3 ; GR3 <- GR3 + 1
JUMP PU ; ループ終端
POP GR5 ; GR5にポップ
LD GR4,GR1 ; GR4にGR1の値をコピー
ADDL GR4,GR3 ; GR4 <- GR4 + GR3
- ST GR5,0,GR4 ; アドレスGR4にGR5の値を格納
+ ST GR5,0,GR4 ; GR4のアドレス <- GR5の値
LAD GR3,1,GR3 ; GR3 <- GR3 + 1
JUMP PO ; ループ終端
FIN RPOP
--- /dev/null
+TARGET = ../outb.casl
+SRCFILE = outb_main.casl ../divl.casl ../rev.casl
+include ../BUILD.mk
;;; 0〜65535の範囲にある正数の割算(筆算方式)を行う
;;; 入力 GR1:被除数 GR2:除数
;;; 出力 GR0:商 GR3:剰余
-;;; GR2が0の場合は、GR0、GR3とも0になり、オーバーフロー
+;;; (GR2 = 0)の場合、GR0 GR3とも0になり、オーバーフロー
DIVL START
PUSH 0,GR1
PUSH 0,GR2
PUSH 0,GR4
+ XOR GR0,GR0 ; GR0:商 初期化
+ XOR GR3,GR3 ; GR3:剰余 初期化
AND GR2,GR2 ; (GR2 = 0)の場合、DIVZEROへジャンプ
JZE DIVZERO ; ↓
+ AND GR1,GR1 ; (GR1 = 0)の場合、FINへジャンプ
+ JZE FIN ; ↓
ST GR2,Y ; YにGR2の初期値を保存
- LAD GR0,0 ; GR0の初期化
- LAD GR3,0 ; GR3の初期化
- LAD GR4,1 ; GR4の初期化。対象ビットを表す
+ LAD GR4,1 ; GR4:対象ビットのインデックス 初期化
SL CPL GR2,GR1 ; ループ先頭。(GR2 > GR1)の場合、LOOPへループ脱出
JPL LOOP ; ↓
SLL GR4,1 ; GR4を1回左シフト
DIVZERO LAD GR3,#8000 ; 強制的にオーバーフローを発生させ、GR3 <- 0
SLL GR3,1 ; ↓
JUMP FIN ; FIN へジャンプ
-SETMOD LD GR3,GR1
+SETMOD LD GR3,GR1 ; GR3 <- GR1。剰余の設定
FIN POP GR4
POP GR2
POP GR1
Y DS 1
TMP DS 1
END
-;; アドレスがGR1、長さがGR2の文字列を逆順に並べ替える
-;; 例: 12345 -> 54321、54321- -> -12345
+;;; メモリー上にある指定されたアドレス、長さの文字列を逆順に並べ替える
+;;; 例: 12345 -> 54321、54321- -> -12345
+;;; 入力 GR1:文字列のアドレス GR2:文字列の長さ
+;;; 出力 (同上)
REV START
RPUSH
LAD GR3,0 ; GR3の初期化
PU CPL GR3,GR2 ; ループ先頭。(GR3 = GR2)の場合、ループ脱出
JZE NEXT ; ↓
- LD GR4,GR1 ; GR4にGR1の値をコピー
+ LD GR4,GR1 ; GR4 <- GR1
ADDL GR4,GR3 ; GR4 <- GR4 + GR3
- LD GR5,0,GR4 ; GR5にアドレスGR4の値を格納
+ LD GR5,0,GR4 ; GR5 <- GR4アドレスの値
PUSH 0,GR5 ; GR5をプッシュ
LAD GR3,1,GR3 ; GR3 <- GR3 + 1
JUMP PU ; ループ終端
POP GR5 ; GR5にポップ
LD GR4,GR1 ; GR4にGR1の値をコピー
ADDL GR4,GR3 ; GR4 <- GR4 + GR3
- ST GR5,0,GR4 ; アドレスGR4にGR5の値を格納
+ ST GR5,0,GR4 ; GR4のアドレス <- GR5の値
LAD GR3,1,GR3 ; GR3 <- GR3 + 1
JUMP PO ; ループ終端
FIN RPOP
--- /dev/null
+TARGET = ../outl.casl
+SRCFILE = outl_main.casl ../divl.casl ../rev.casl
+include ../BUILD.mk
-;; アドレスがGR1、長さがGR2の文字列を逆順に並べ替える
-;; 例: 12345 -> 54321、54321- -> -12345
+;;; メモリー上にある指定されたアドレス、長さの文字列を逆順に並べ替える
+;;; 例: 12345 -> 54321、54321- -> -12345
+;;; 入力 GR1:文字列のアドレス GR2:文字列の長さ
+;;; 出力 (同上)
REV START
RPUSH
LAD GR3,0 ; GR3の初期化
PU CPL GR3,GR2 ; ループ先頭。(GR3 = GR2)の場合、ループ脱出
JZE NEXT ; ↓
- LD GR4,GR1 ; GR4にGR1の値をコピー
+ LD GR4,GR1 ; GR4 <- GR1
ADDL GR4,GR3 ; GR4 <- GR4 + GR3
- LD GR5,0,GR4 ; GR5にアドレスGR4の値を格納
+ LD GR5,0,GR4 ; GR5 <- GR4アドレスの値
PUSH 0,GR5 ; GR5をプッシュ
LAD GR3,1,GR3 ; GR3 <- GR3 + 1
JUMP PU ; ループ終端
POP GR5 ; GR5にポップ
LD GR4,GR1 ; GR4にGR1の値をコピー
ADDL GR4,GR3 ; GR4 <- GR4 + GR3
- ST GR5,0,GR4 ; アドレスGR4にGR5の値を格納
+ ST GR5,0,GR4 ; GR4のアドレス <- GR5の値
LAD GR3,1,GR3 ; GR3 <- GR3 + 1
JUMP PO ; ループ終端
FIN RPOP
--- /dev/null
+MAIN START
+ LAD GR1,A
+ LAD GR2,B
+ CALL ADDL32
+ LD GR2,GR0
+ LD GR1,1,GR2
+ CALL OUTL
+ LD GR1,0,GR2
+ CALL OUTL
+ RET
+A DC 6,10
+B DC 2,65530
+ END
--- /dev/null
+MAIN START
+ LAD GR1,A
+ LAD GR2,B
+ CALL ADDL32
+ LD GR2,GR0
+ RET
+A DC 6,10
+B DC 2,65530
+ END
-;;; casl2 div0_call0.casl div0.casl outl.casl
+;;; casl2 divl1.casl ../casl2lib/outl.casl
MAIN START
BEGIN LD GR1,X
+ CALL OUTL
LD GR2,Y
+ PUSH 0,GR1
+ LD GR1,GR2
+ CALL OUTL
+ POP GR1
CALL DIVL
LD GR1,GR0
CALL OUTL
CALL OUTL
RET
X DC 123
-Y DC 10
+Y DC 10
END
--- /dev/null
+;;; casl2 inl.casl ../casl2lib/inl.casl ../casl2lib/outl.caslg
+MAIN START
+LOOP CALL INL ; GR1に数値、GR0に文字列の長さ
+ JOV NAN
+ AND GR0,GR0
+ JZE FIN
+ CALL OUTL
+ JUMP LOOP
+NAN OUT NANMSG,MLEN
+ JUMP LOOP
+FIN RET
+NANMSG DC 'Not A Number'
+MLEN DC 12
+ END
MAIN START
LAD GR1,361
CALL SUM
- LD GR1,GR2
+ LD GR1,GR0
CALL OUTL
MFIN RET
END
+;;; ADDA r,adr
MAIN START
BEGIN LD GR1,A
- XOR GR1,B
+ ADDA GR1,B
RET
A DC 3
-B DC #FFFF
+B DC 1
END
--- /dev/null
+;;; ADDA r,adr 正数でオーバーフロー
+MAIN START
+ LD GR1,A
+ ADDA GR1,B
+ RET
+A DC #7FFE ; 32766
+B DC #000A ; 10
+ END
--- /dev/null
+;;; ADDA r,adr 演算結果が零
+MAIN START
+ LD GR1,A
+ ADDA GR1,B
+ RET
+A DC #FFF6 ; -10
+B DC 10
+ END
--- /dev/null
+;;; ADDA r,adr ADDLではオーバーフロー
+MAIN START
+ LD GR1,A
+ ADDA GR1,B
+ RET
+A DC #FFFE ; -2
+B DC #000F ; 15
+ END
--- /dev/null
+;;; ADDA r,adr オーバーフロー
+MAIN START
+ LD GR1,A
+ ADDA GR1,B
+ RET
+A DC #8002 ; -32766
+B DC #8001 ; -32767
+ END
--- /dev/null
+;;; ADDA r,adr 演算結果が負数(r > adr)
+MAIN START
+ LD GR1,A
+ ADDA GR1,B
+ RET
+A DC #000A ; 10
+B DC #FFEC ; -20
+ END
--- /dev/null
+;;; ADDA r,adr 演算結果が負数(r < adr)
+MAIN START
+ LD GR1,A
+ ADDA GR1,B
+ RET
+A DC #FFEC ; -20
+B DC #000A ; 10
+ END
--- /dev/null
+;;; ADDA r,adr 演算結果が零
+MAIN START
+ LD GR1,A
+ ADDA GR1,B
+ RET
+A DC 0
+B DC 0
+ END
--- /dev/null
+;;; ADDA r,adr,x
+MAIN START
+BEGIN LD GR1,A
+ LAD GR2,1
+ ADDA GR1,A,GR2
+ RET
+A DC 3
+ DC 1
+ END
+;;; ADDA r1,r2
MAIN START
BEGIN LD GR1,A
LD GR2,B
--- /dev/null
+;;; ADDL r,adr
+MAIN START
+BEGIN LD GR1,A
+ ADDL GR1,B
+ RET
+A DC 3
+B DC 1
+ END
--- /dev/null
+;;; ADDL r,adr ADDAでは正数でオーバーフロー
+MAIN START
+ LD GR1,A
+ ADDL GR1,B
+ RET
+A DC #7FFE ; 32766
+B DC #000A ; 10
+ END
--- /dev/null
+;;; ADDL r,adr ADDAでは演算結果が零
+MAIN START
+ LD GR1,A
+ ADDL GR1,B
+ RET
+A DC #FFF6 ; -10
+B DC 10
+ END
--- /dev/null
+;;; ADDL r,adr ADDLではオーバーフロー
+MAIN START
+ LD GR1,A
+ ADDL GR1,B
+ RET
+A DC #FFFE ; -2
+B DC #000F ; 15
+ END
--- /dev/null
+;;; ADDL r,adr オーバーフロー
+MAIN START
+ LD GR1,A
+ ADDL GR1,B
+ RET
+A DC #8002 ; 32770
+B DC #8001 ; 32769
+ END
--- /dev/null
+;;; ADDL r,adr 演算結果が負数(r > adr)
+MAIN START
+ LD GR1,A
+ ADDL GR1,B
+ RET
+A DC #000A ; 10
+B DC #FFEC ; -20
+ END
--- /dev/null
+;;; ADDL r,adr 演算結果が負数(r < adr)
+MAIN START
+ LD GR1,A
+ ADDL GR1,B
+ RET
+A DC #FFEC ; -20
+B DC #000A ; 10
+ END
--- /dev/null
+;;; ADDL r,adr 演算結果が零
+MAIN START
+ LD GR1,A
+ ADDL GR1,B
+ RET
+A DC 0
+B DC 0
+ END
--- /dev/null
+;;; ADDL r,adr,x
+MAIN START
+BEGIN LD GR1,A
+ LAD GR2,1
+ ADDL GR1,A,GR2
+ RET
+A DC 3
+ DC 1
+ END
--- /dev/null
+;;; ADDL r1,r2
+MAIN START
+BEGIN LD GR1,A
+ LD GR2,B
+ ADDL GR1,GR2
+ RET
+A DC 3
+B DC 1
+ END
--- /dev/null
+;;; AND r,adr
+MAIN START
+ LD GR1,A
+ AND GR1,B
+ RET
+A DC #3000
+B DC #4FFF
+ END
--- /dev/null
+;;; AND r,adr 演算結果の符号が負
+MAIN START
+ LD GR1,A
+ AND GR1,B
+ RET
+A DC #8000
+B DC #FFFF
+ END
--- /dev/null
+;;; AND r,adr 演算結果が零
+MAIN START
+ LD GR1,A
+ AND GR1,B
+ RET
+A DC #0001
+B DC #FFFE
+ END
--- /dev/null
+;;; AND r,adr
+MAIN START
+ LD GR1,A
+ AND GR1,1,A
+ RET
+A DC #3000
+ DC #4FFF
+ END
--- /dev/null
+;;; AND r1,r2
+MAIN START
+ LD GR1,A
+ LD GR2,B
+ AND GR1,GR2
+ RET
+A DC #3000
+B DC #4FFF
+ END
-MAIN START BEGIN
-BEGIN LD GR1,=29
+;;; CALL ほかのプログラムの入口名を指定
+ MAIN START
+ LAD GR1,29
CALL COPY
- ST GR2,B
RET
-B DS 1
END
COPY START
LD GR2,GR1
--- /dev/null
+;;; CALL 同じプログラムの中にあるラベルを指定
+MAIN START BEGIN
+BEGIN LAD GR1,29
+ CALL COPY
+ RET
+COPY LD GR2,GR1
+ RET
+ END
--- /dev/null
+;;; CPA r,adr
+MAIN START BEGIN
+BEGIN LD GR1,A
+ CPA GR1,B
+ RET
+A DC #5000
+B DC #3000
+ END
--- /dev/null
+;;; CPA r,adr
+MAIN START BEGIN
+BEGIN LD GR1,A
+ CPA GR1,B
+ RET
+A DC #5000
+B DC #8000
+ END
--- /dev/null
+;;; CPA r,adr SF:1
+MAIN START BEGIN
+BEGIN LD GR1,A
+ CPA GR1,B
+ RET
+A DC #5000
+B DC #7000
+ END
--- /dev/null
+;;; CPA r,adr ZF:0
+MAIN START BEGIN
+BEGIN LD GR1,A
+ CPA GR1,B
+ RET
+A DC #5000
+B DC #5000
+ END
--- /dev/null
+;;; CPA r,adr,x SF:1
+MAIN START BEGIN
+BEGIN LD GR1,A
+ LAD GR2,1
+ CPA GR1,A,GR2
+ RET
+A DC #5000
+ DC #7000
+ END
--- /dev/null
+;;; CPA r1,r2 SF:1
+MAIN START BEGIN
+BEGIN LD GR1,A
+ LD GR2,B
+ CPA GR1,GR2
+ RET
+A DC #5000
+B DC #7000
+ END
--- /dev/null
+;;; CPL r,adr
+MAIN START BEGIN
+BEGIN LD GR1,A
+ CPL GR1,B
+ RET
+A DC #5000
+B DC #3000
+ END
--- /dev/null
+;;; CPL r,adr
+MAIN START BEGIN
+BEGIN LD GR1,A
+ CPL GR1,B
+ RET
+A DC #5000
+B DC #8000
+ END
--- /dev/null
+;;; CPL r,adr SF:1
+MAIN START BEGIN
+BEGIN LD GR1,A
+ CPL GR1,B
+ RET
+A DC #5000
+B DC #7000
+ END
--- /dev/null
+;;; CPL r,adr ZF:0
+MAIN START BEGIN
+BEGIN LD GR1,A
+ CPL GR1,B
+ RET
+A DC #5000
+B DC #5000
+ END
--- /dev/null
+;;; CPL r,adr,x SF:1
+MAIN START BEGIN
+BEGIN LD GR1,A
+ LAD GR2,1
+ CPL GR1,A,GR2
+ RET
+A DC #5000
+ DC #7000
+ END
--- /dev/null
+;;; CPL r1,r2 SF:1
+MAIN START BEGIN
+BEGIN LD GR1,A
+ LD GR2,B
+ CPL GR1,GR2
+ RET
+A DC #5000
+B DC #7000
+ END
--- /dev/null
+;; DC 文字定数
+MAIN START
+ RET
+ DC ' '
+ DC '!'
+ DC '"'
+ DC '#'
+ DC '$'
+ DC '%'
+ DC '&'
+ DC ''''
+ DC '('
+ DC ')'
+ DC '*'
+ DC '+'
+ DC ','
+ DC '-'
+ DC '.'
+ DC '/'
+ DC '0'
+ DC '1'
+ DC '2'
+ DC '3'
+ DC '4'
+ DC '5'
+ DC '6'
+ DC '7'
+ DC '8'
+ DC '9'
+ DC ':'
+ DC ';'
+ DC '<'
+ DC '='
+ DC '>'
+ DC '?'
+ DC '@'
+ DC 'A'
+ DC 'B'
+ DC 'C'
+ DC 'D'
+ DC 'E'
+ DC 'F'
+ DC 'G'
+ DC 'H'
+ DC 'I'
+ DC 'J'
+ DC 'K'
+ DC 'L'
+ DC 'M'
+ DC 'N'
+ DC 'O'
+ DC 'P'
+ DC 'Q'
+ DC 'R'
+ DC 'S'
+ DC 'T'
+ DC 'U'
+ DC 'V'
+ DC 'W'
+ DC 'X'
+ DC 'Y'
+ DC 'Z'
+ DC '['
+ DC '\'
+ DC ']'
+ DC '^'
+ DC '_'
+ DC 'a'
+ DC 'b'
+ DC 'c'
+ DC 'd'
+ DC 'e'
+ DC 'f'
+ DC 'g'
+ DC 'h'
+ DC 'i'
+ DC 'j'
+ DC 'k'
+ DC 'l'
+ DC 'm'
+ DC 'n'
+ DC 'o'
+ DC 'p'
+ DC 'q'
+ DC 'r'
+ DC 's'
+ DC 't'
+ DC 'u'
+ DC 'v'
+ DC 'w'
+ DC 'x'
+ DC 'y'
+ DC 'z'
+ DC '{'
+ DC '|'
+ DC '}'
+ DC '~'
+ END
--- /dev/null
+;; DC 文字定数
+MAIN START
+ RET
+ DC ' !"#$%&''()*+,-./0123456789:;<=>?@ABCDEFG'
+ DC 'GHIJKLMNOPQRSTUVWXYZ[\]^_abcdefghijklmno'
+ DC 'pqrstuvwxyz{|}~'
+ END
--- /dev/null
+;; DC 10進定数/16進定数
+MAIN START
+ RET
+ DC 0
+ DC 1
+ DC 10
+ DC 32767
+ DC 32768
+ DC 65535
+ DC 65536
+ DC 65537
+ DC -1
+ DC -10
+ DC -32767
+ DC -32768
+ DC -32769
+ DC #0
+ DC #1
+ DC #01
+ DC #001
+ DC #0001
+ DC #10
+ DC #11
+ DC #F
+ DC #000F
+ DC #FFFF
+ END
--- /dev/null
+;; DC 10進定数/16進定数
+MAIN START
+ RET
+ DC 1,10,32767,32768,65535,65536,65537,-1,-10,-32767,-32768,-32769,#0,#1,#01,#001,#0001,#10,#11,#F,#000F,#FFFF
+ END
--- /dev/null
+;; DC -32768〜32768の範囲にない10進数値
+MAIN START
+ RET
+ DC 32767
+ DC 32768
+ DC 65535
+ DC 65536
+ DC 131073 ; 65536 * 2 + 1
+ DC -32768
+ DC -32769
+ DC -65535
+ DC -65536
+ DC -131073 ; -65536 * 2 - 1
+ END
--- /dev/null
+;;; DS
+MAIN START
+ LAD GR1,A
+ LAD GR1,B
+ LAD GR1,C
+ LAD GR1,D
+ LAD GR1,E
+ RET
+A DS 1
+B DS 2
+C DS 4
+D DS 0
+E DC #FFFF
+ END
--- /dev/null
+;;; IN IBUF,ILEN
+MAIN START
+LOOP IN IBUF,ILEN
+FIN RET
+IBUF DS 20
+ILEN DS 1
+ END
--- /dev/null
+;;; JMI OSZ:010
+MAIN START
+ LD GR1,A
+ AND GR1,GR1
+ JMI TO
+ LAD GR1,0
+ JUMP FIN
+TO LAD GR1,#FFFF
+FIN RET
+A DC -1
+ END
--- /dev/null
+;;; JMI OSZ:001
+MAIN START
+ LD GR1,A
+ SRL GR1,1
+ JMI TO
+ LAD GR1,0
+ JUMP FIN
+TO LAD GR1,#FFFF
+FIN RET
+A DC #0003
+ END
--- /dev/null
+;;; JMI OSZ:000
+MAIN START
+ LD GR1,A
+ AND GR1,GR1
+ JMI TO
+ LAD GR1,0
+ JUMP FIN
+TO LAD GR1,#FFFF
+FIN RET
+A DC 1
+ END
--- /dev/null
+;;; JMI OSZ:001
+MAIN START
+ LD GR1,A
+ AND GR1,GR1
+ JMI TO
+ LAD GR1,0
+ JUMP FIN
+TO LAD GR1,#FFFF
+FIN RET
+A DC 0
+ END
--- /dev/null
+;;; JNZ OSZ:010
+MAIN START
+ LD GR1,A
+ AND GR1,GR1
+ JNZ TO
+ LAD GR1,0
+ JUMP FIN
+TO LAD GR1,#FFFF
+FIN RET
+A DC -1
+ END
--- /dev/null
+;;; JNZ OSZ:001
+MAIN START
+ LD GR1,A
+ SRL GR1,1
+ JNZ TO
+ LAD GR1,0
+ JUMP FIN
+TO LAD GR1,#FFFF
+FIN RET
+A DC #0003
+ END
--- /dev/null
+;;; JNZ OSZ:000
+MAIN START
+ LD GR1,A
+ AND GR1,GR1
+ JNZ TO
+ LAD GR1,0
+ JUMP FIN
+TO LAD GR1,#FFFF
+FIN RET
+A DC 1
+ END
--- /dev/null
+;;; JNZ OSZ:001
+MAIN START
+ LD GR1,A
+ AND GR1,GR1
+ JNZ TO
+ LAD GR1,0
+ JUMP FIN
+TO LAD GR1,#FFFF
+FIN RET
+A DC 0
+ END
--- /dev/null
+;;; JOV OSZ:010
+MAIN START
+ LD GR1,A
+ AND GR1,GR1
+ JOV TO
+ LAD GR1,0
+ JUMP FIN
+TO LAD GR1,#FFFF
+FIN RET
+A DC -1
+ END
--- /dev/null
+;;; JOV OSZ:001
+MAIN START
+ LD GR1,A
+ SRL GR1,1
+ JOV TO
+ LAD GR1,0
+ JUMP FIN
+TO LAD GR1,#FFFF
+FIN RET
+A DC #0003
+ END
--- /dev/null
+;;; JOV OSZ:000
+MAIN START
+ LD GR1,A
+ AND GR1,GR1
+ JOV TO
+ LAD GR1,0
+ JUMP FIN
+TO LAD GR1,#FFFF
+FIN RET
+A DC 1
+ END
--- /dev/null
+;;; JOV OSZ:001
+MAIN START
+ LD GR1,A
+ AND GR1,GR1
+ JOV TO
+ LAD GR1,0
+ JUMP FIN
+TO LAD GR1,#FFFF
+FIN RET
+A DC 0
+ END
--- /dev/null
+;;; JPL OSZ:010
+MAIN START
+ LD GR1,A
+ AND GR1,GR1
+ JPL TO
+ LAD GR1,0
+ JUMP FIN
+TO LAD GR1,#FFFF
+FIN RET
+A DC -1
+ END
--- /dev/null
+;;; JPL OSZ:001
+MAIN START
+ LD GR1,A
+ SRL GR1,1
+ JPL TO
+ LAD GR1,0
+ JUMP FIN
+TO LAD GR1,#FFFF
+FIN RET
+A DC #0003
+ END
--- /dev/null
+;;; JPL OSZ:000
+MAIN START
+ LD GR1,A
+ AND GR1,GR1
+ JPL TO
+ LAD GR1,0
+ JUMP FIN
+TO LAD GR1,#FFFF
+FIN RET
+A DC 1
+ END
--- /dev/null
+;;; JPL OSZ:001
+MAIN START
+ LD GR1,A
+ AND GR1,GR1
+ JPL TO
+ LAD GR1,0
+ JUMP FIN
+TO LAD GR1,#FFFF
+FIN RET
+A DC 0
+ END
--- /dev/null
+;;; JUMP OSZ:010
+MAIN START
+ LD GR1,A
+ AND GR1,GR1
+ JUMP TO
+ LAD GR1,0
+ JUMP FIN
+TO LAD GR1,#FFFF
+FIN RET
+A DC -1
+ END
--- /dev/null
+;;; JUMP OSZ:001
+MAIN START
+ LD GR1,A
+ SRL GR1,1
+ JUMP TO
+ LAD GR1,0
+ JUMP FIN
+TO LAD GR1,#FFFF
+FIN RET
+A DC #0003
+ END
--- /dev/null
+;;; JUMP OSZ:000
+MAIN START
+ LD GR1,A
+ AND GR1,GR1
+ JUMP TO
+ LAD GR1,0
+ JUMP FIN
+TO LAD GR1,#FFFF
+FIN RET
+A DC 1
+ END
--- /dev/null
+;;; JUMP OSZ:001
+MAIN START
+ LD GR1,A
+ AND GR1,GR1
+ JUMP TO
+ LAD GR1,0
+ JUMP FIN
+TO LAD GR1,#FFFF
+FIN RET
+A DC 0
+ END
--- /dev/null
+;;; JZE OSZ:010
+MAIN START
+ LD GR1,A
+ AND GR1,GR1
+ JZE TO
+ LAD GR1,0
+ JUMP FIN
+TO LAD GR1,#FFFF
+FIN RET
+A DC -1
+ END
--- /dev/null
+;;; JZE OSZ:001
+MAIN START
+ LD GR1,A
+ SRL GR1,1
+ JZE TO
+ LAD GR1,0
+ JUMP FIN
+TO LAD GR1,#FFFF
+FIN RET
+A DC #0003
+ END
--- /dev/null
+;;; JZE OSZ:000
+MAIN START
+ LD GR1,A
+ AND GR1,GR1
+ JZE TO
+ LAD GR1,0
+ JUMP FIN
+TO LAD GR1,#FFFF
+FIN RET
+A DC 1
+ END
--- /dev/null
+;;; JZE OSZ:001
+MAIN START
+ LD GR1,A
+ AND GR1,GR1
+ JZE TO
+ LAD GR1,0
+ JUMP FIN
+TO LAD GR1,#FFFF
+FIN RET
+A DC 0
+ END
+;;; LAD r,adr
LAD START
LAD GR1,5
RET
-MAIN START BEGIN
-BEGIN LD GR1,A
+;;; LAD r,adr,x
+MAIN START
+ LD GR1,A
LAD GR1,1,GR1
RET
A DC 3
--- /dev/null
+;;; LAD r,adr,x
+MAIN START
+ LD GR1,A
+ LAD GR1,-1,GR1
+ RET
+A DC 3
+ END
--- /dev/null
+MAIN START
+ LD GR0,A
+ LD GR0,B
+ LD GR0,C
+ RET
+A DC 7
+B DC -7
+C DC 0
+ END
--- /dev/null
+;;; LD r,adr
+MAIN START
+ LD GR1,='"'
+ LD GR1,='#'
+ LD GR1,='$'
+ LD GR1,='%'
+ LD GR1,='&'
+ LD GR1,=''''
+ LD GR1,='('
+ LD GR1,=')'
+ LD GR1,='*'
+ LD GR1,='+'
+ LD GR1,=','
+ LD GR1,='-'
+ LD GR1,='.'
+ LD GR1,='/'
+ LD GR1,='0'
+ LD GR1,='1'
+ LD GR1,='2'
+ LD GR1,='3'
+ LD GR1,='4'
+ LD GR1,='5'
+ LD GR1,='6'
+ LD GR1,='7'
+ LD GR1,='8'
+ LD GR1,='9'
+ LD GR1,=':'
+ LD GR1,=';'
+ LD GR1,='<'
+ LD GR1,='='
+ LD GR1,='>'
+ LD GR1,='?'
+ LD GR1,='@'
+ LD GR1,='A'
+ LD GR1,='B'
+ LD GR1,='C'
+ LD GR1,='D'
+ LD GR1,='E'
+ LD GR1,='F'
+ LD GR1,='G'
+ LD GR1,='H'
+ LD GR1,='I'
+ LD GR1,='J'
+ LD GR1,='K'
+ LD GR1,='L'
+ LD GR1,='M'
+ LD GR1,='N'
+ LD GR1,='O'
+ LD GR1,='P'
+ LD GR1,='Q'
+ LD GR1,='R'
+ LD GR1,='S'
+ LD GR1,='T'
+ LD GR1,='U'
+ LD GR1,='V'
+ LD GR1,='W'
+ LD GR1,='X'
+ LD GR1,='Y'
+ LD GR1,='Z'
+ LD GR1,='['
+ LD GR1,='\'
+ LD GR1,=']'
+ LD GR1,='^'
+ LD GR1,='_'
+ LD GR1,='`'
+ LD GR1,='a'
+ LD GR1,='b'
+ LD GR1,='c'
+ LD GR1,='d'
+ LD GR1,='e'
+ LD GR1,='f'
+ LD GR1,='g'
+ LD GR1,='h'
+ LD GR1,='i'
+ LD GR1,='j'
+ LD GR1,='k'
+ LD GR1,='l'
+ LD GR1,='m'
+ LD GR1,='n'
+ LD GR1,='o'
+ LD GR1,='p'
+ LD GR1,='q'
+ LD GR1,='r'
+ LD GR1,='s'
+ LD GR1,='t'
+ LD GR1,='u'
+ LD GR1,='v'
+ LD GR1,='w'
+ LD GR1,='x'
+ LD GR1,='y'
+ LD GR1,='z'
+ LD GR1,='{'
+ LD GR1,='|'
+ LD GR1,='}'
+ LD GR1,='~'
+ RET
+ END
--- /dev/null
+MAIN START
+ LAD GR1,#FFFF
+ LD GR2,GR1
+ LD GR3,GR1
+ LD GR4,GR1
+ LD GR5,GR1
+ LD GR6,GR1
+ LD GR7,GR1
+ LD GR0,GR1
+ LD GR1,GR1
+ LAD GR2,#FFFE
+ LD GR2,GR2
+ LD GR3,GR2
+ LD GR4,GR2
+ LD GR5,GR2
+ LD GR6,GR2
+ LD GR7,GR2
+ LD GR0,GR2
+ LD GR1,GR2
+ LAD GR3,#FFFE
+ LD GR3,GR3
+ LD GR4,GR3
+ LD GR5,GR3
+ LD GR6,GR3
+ LD GR7,GR3
+ LD GR0,GR3
+ LD GR1,GR3
+ LD GR2,GR3
+ LAD GR0,1
+ LD GR1,GR0
+ LD GR2,GR0
+ LD GR3,GR0
+ LD GR4,GR0
+ LD GR5,GR0
+ LD GR6,GR0
+ LD GR7,GR0
+ LD GR0,GR0
+ RET
+ END
--- /dev/null
+MAIN START
+ LAD GR1,A
+ LD GR0,0,GR1
+ LD GR2,2,GR1
+ LD GR3,3,GR1
+ LD GR4,4,GR1
+ LD GR5,5,GR1
+ LD GR6,6,GR1
+ LD GR7,7,GR1
+ LD GR1,1,GR1
+ RET
+A DC 2,3,5,7,11,13,17,19
+ END
+;;; NOP
MAIN START
NOP
NOP
NOP
RET
END
-
\ No newline at end of file
--- /dev/null
+;;; OR r,adr
+MAIN START
+ LD GR1,A
+ OR GR1,B
+ RET
+A DC #3000
+B DC #4FFF
+ END
--- /dev/null
+;;; OR r,adr 演算結果の符号が負
+MAIN START
+ LD GR1,A
+ OR GR1,B
+ RET
+A DC #8000
+B DC #FFFF
+ END
--- /dev/null
+;;; OR r,adr 演算結果が零
+MAIN START
+ LD GR1,A
+ OR GR1,B
+ RET
+A DC #0001
+B DC #FFFE
+ END
--- /dev/null
+;;; OR r,adr
+MAIN START
+ LD GR1,A
+ OR GR1,1,A
+ RET
+A DC #3000
+ DC #4FFF
+ END
--- /dev/null
+;;; OR r1,r2
+MAIN START
+ LD GR1,A
+ LD GR2,B
+ OR GR1,GR2
+ RET
+A DC #3000
+B DC #4FFF
+ END
--- /dev/null
+;;; OUT buf.len
+MAIN START
+ OUT BUF1,L1
+ OUT BUF2,L2
+ OUT BUF3,L3
+ OUT BUF4,L4
+ RET
+BUF1 DC '0',9,'1',10 ; TAB、改行
+L1 DC 4
+BUF2 DC ' !"#$%&''()*+,-./0123456789:;<=>?'
+L2 DC 32
+BUF3 DC '@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_'
+L3 DC 32
+BUF4 DC '`abcdefghijklmnopqrstuvwxyz{|}~'
+L4 DC 31
+ END
--- /dev/null
+;;; PUSH / POP 値の復元
+MAIN START
+ LD GR1,A
+ LD GR1,0,GR7
+ LD GR2,1,GR7
+ LD GR3,2,GR7
+ LD GR4,3,GR7
+ LD GR5,4,GR7
+ LD GR6,5,GR7
+ LD GR7,6,GR7
+ PUSH 0,GR1
+ PUSH 0,GR2
+ PUSH 0,GR3
+ PUSH 0,GR4
+ PUSH 0,GR5
+ PUSH 0,GR6
+ PUSH 0,GR7
+ POP GR7
+ POP GR6
+ POP GR5
+ POP GR4
+ POP GR3
+ POP GR2
+ POP GR1
+ RET
+A DC 1,2,3,4,5,6,7
+ END
--- /dev/null
+;;; PUSH / POP 値の交換
+MAIN START
+ LD GR1,A
+ LD GR1,0,GR7
+ LD GR2,1,GR7
+ LD GR3,2,GR7
+ LD GR4,3,GR7
+ LD GR5,4,GR7
+ LD GR6,5,GR7
+ LD GR7,6,GR7
+ PUSH 0,GR1
+ PUSH 0,GR2
+ PUSH 0,GR3
+ PUSH 0,GR4
+ PUSH 0,GR5
+ PUSH 0,GR6
+ PUSH 0,GR7
+ POP GR1
+ POP GR2
+ POP GR3
+ POP GR4
+ POP GR5
+ POP GR6
+ POP GR7
+ RET
+A DC 1,2,3,4,5,6,7
+ END
--- /dev/null
+;;; RPOP 値の復元
+MAIN START
+ LD GR1,A
+ LD GR1,0,GR7
+ LD GR2,1,GR7
+ LD GR3,2,GR7
+ LD GR4,3,GR7
+ LD GR5,4,GR7
+ LD GR6,5,GR7
+ LD GR7,6,GR7
+ PUSH 0,GR1
+ PUSH 0,GR2
+ PUSH 0,GR3
+ PUSH 0,GR4
+ PUSH 0,GR5
+ PUSH 0,GR6
+ PUSH 0,GR7
+ RPOP
+ RET
+A DC 1,2,3,4,5,6,7
+ END
--- /dev/null
+;;; PUSH / POP 値の復元
+MAIN START
+ LD GR1,A
+ LD GR1,0,GR7
+ LD GR2,1,GR7
+ LD GR3,2,GR7
+ LD GR4,3,GR7
+ LD GR5,4,GR7
+ LD GR6,5,GR7
+ LD GR7,6,GR7
+ RPUSH
+ POP GR7
+ POP GR6
+ POP GR5
+ POP GR4
+ POP GR3
+ POP GR2
+ POP GR1
+ RET
+A DC 1,2,3,4,5,6,7
+ END
+;;; SLA r,adr
MAIN START
LAD GR1,3
- LD GR0,GR1
+ SLA GR1,2
RET
END
--- /dev/null
+;;; SLA r,adr 正数のオーバーフロー
+MAIN START
+ LAD GR1,#4000
+ SLA GR1,1
+ RET
+ END
--- /dev/null
+;;; SLA r,adr 負数
+SLA2 START BEGIN
+BEGIN LAD GR1,#8001
+ SLA GR1,7
+ RET
+ END
--- /dev/null
+;;; SLA r,adr 負数のオーバーフロー
+MAIN START
+ LAD GR1,#C000
+ SLA GR1,1
+ RET
+ END
--- /dev/null
+;;; SRA r,adr
+MAIN START
+ LAD GR1,12
+ SRA GR1,2
+ RET
+ END
SLA2 START BEGIN
-BEGIN LAD GR1,3
+BEGIN LAD GR1,#FFFD
SLA GR1,2
RET
END
-
\ No newline at end of file
--- /dev/null
+MAIN START
+ LAD GR1,#4000
+ SLA GR1,1
+ RET
+ END
--- /dev/null
+MAIN START
+ LAD GR1,#C000
+ SLA GR1,1
+ RET
+ END
-SLA3 START BEGIN
+SLA2 START BEGIN
BEGIN LAD GR1,#8000
SLA GR1,1
RET
END
-
\ No newline at end of file
--- /dev/null
+MAIN START
+ LAD GR1,#C000
+ SLA GR1,1
+ RET
+ END
--- /dev/null
+;;; XOR r,adr
+MAIN START
+ LD GR1,A
+ XOR GR1,B
+ RET
+A DC #3000
+B DC #4FFF
+ END
--- /dev/null
+;;; XOR r,adr 演算結果の符号が負
+MAIN START
+ LD GR1,A
+ XOR GR1,B
+ RET
+A DC #8000
+B DC #FFFF
+ END
--- /dev/null
+;;; XOR r,adr 演算結果が零
+MAIN START
+ LD GR1,A
+ XOR GR1,B
+ RET
+A DC #0001
+B DC #FFFE
+ END
--- /dev/null
+;;; XOR r,adr
+MAIN START
+ LD GR1,A
+ XOR GR1,1,A
+ RET
+A DC #3000
+ DC #4FFF
+ END
--- /dev/null
+;;; XOR r1,r2
+MAIN START
+ LD GR1,A
+ LD GR2,B
+ XOR GR1,GR2
+ RET
+A DC #3000
+B DC #4FFF
+ END
--- /dev/null
+;;; XOR r,r rの内容をクリア
+MAIN START
+BEGIN LD GR1,A
+ XOR GR1,GR1
+ RET
+A DC 3
+ END
--- /dev/null
+MAIN START
+ LAD GR1,=';' ; 「;」の処理が正常にできるか
+FIN RET
+ END
LAD GR1,='a'
LAD GR2,10
LOOP CPA GR2,=0
- JZE LEND
- JMI LEND
+ JZE FIN
+ JMI FIN
LD GR3,0,GR1
ADDA GR1,=1
SUBA GR2,=1
JUMP LOOP
-LEND RET
+FIN RET
LEN DC 5
END
--- /dev/null
+;; DC 文字定数
+MAIN START
+ RET
+ DC ' !"#$%&''()*+,-./0123456789:;<=>?@ABCDEFG'
+ DC 'GHIJKLMNOPQRSTUVWXYZ[\]^_abcdefghijklmnop'
+ DC 'pqrstuvwxyz{|}~'
+ END
--- /dev/null
+;;; ADDA r,adr,x 演算結果が負数(r < adr)
+MAIN START
+ LD GR1,A
+ LAD GR2,1
+ ADDA GR1,A,1
+ RET
+A DC -10
+ DC 20
+ END
-MAIN START
- OUT BUF,LEN
- RET
-BUF DC 'Hello, World!'
-LEN DC 13
- END
+MAIN START
+ OUT OBUF,LEN
+ RET
+OBUF DC 'Hello, World!'
+LEN DC 13
+ END
--- /dev/null
+;;; CASL IIマクロ命令「IN IBUF LEN」で生成される命令群
+ PUSH 0,GR1
+ PUSH 0,GR2
+ LAD GR1,IBUF
+ LAD GR2,LEN
+ SVC 1
+ POP GR2
+ POP GR1
--- /dev/null
+MAIN START
+ IN IBUF,LEN
+ OUT IBUF,LEN
+ RET
+IBUF DS 100
+LEN DC 1
+ END
--- /dev/null
+MAIN START
+ PUSH 0,GR1
+ PUSH 0,GR2
+ LAD GR1,IBUF
+ LAD GR2,LEN
+ SVC 1
+ POP GR2
+ POP GR1
+ IN IBUF,LEN
+ OUT IBUF,LEN
+ RET
+IBUF DS 100
+LEN DC 1
+ END
--- /dev/null
+1234567890abcdefghijkLMNOPQRST
--- /dev/null
+MAIN START
+ OUT OBUF,LEN
+ RET
+OBUF DC 'Hello, World!'
+LEN DC 13
+ END
-;;; 「OUT」と同等のプログラム
-OTEST START
+MAIN START
PUSH 0,GR1
PUSH 0,GR2
LAD GR1,OBUF
POP GR2
POP GR1
RET
-OBUF DC 'abcd'
-LEN DC 4
+OBUF DC 'Hello, World!'
+LEN DC 13
END
--- /dev/null
+;;; CASL IIマクロ命令「OUT OBUF LEN」で生成される命令群
+ PUSH 0,GR1
+ PUSH 0,GR2
+ LAD GR1,OBUF
+ LAD GR2,LEN
+ SVC 2
+ LAD GR1,=#A
+ LAD GR2,=1
+ SVC 2
+ POP GR2
+ POP GR1
--- /dev/null
+;;; 「アセンブラ言語の使用」に掲載されているサンプル
+COUNT1 START
+; 入力 GR1:検索する語
+; 処理 GR1中の'1'のビットの個数を求める
+; 出力 GR0:GR1中の'1'のビットの個数
+ PUSH 0,GR1 ;
+ PUSH 0,GR2 ;
+ SUBA GR2,GR2 ; Count = 0
+ AND GR1,GR1 ; 全部のビットが'0'?
+ JZE RETURN ; 全部のビットが'0'なら終了
+MORE LAD GR2,1,GR2 ; Count = Count + 1
+ LAD GR0,-1,GR1 ; 最下位の'1'のビット1個を
+ AND GR1,GR0 ; '0'に変える
+ JNZ MORE ; '1'のビットが残っていれば繰返し
+RETURN LD GR0,GR2 ; GR0 = Count
+ POP GR2 ;
+ POP GR1 ;
+ RET ; 呼び出しプログラムへ戻る
+ END ;
--- /dev/null
+../../../../casl2 ../../../../as/FUNC/divl_call.casl ../../../../as/FUNC/divl0.casl ../../../../as/FUNC/outl_main.casl ../../../../as/FUNC/rev.casl
+--------------------
+100
+0
+Error: div by 0
+--------------------
+100
+1
+100
+0
+--------------------
+100
+2
+50
+0
+--------------------
+100
+3
+33
+1
+--------------------
+100
+4
+25
+0
+--------------------
+100
+5
+20
+0
+--------------------
+100
+6
+16
+4
+--------------------
+100
+7
+14
+2
+--------------------
+100
+8
+12
+4
+--------------------
+100
+9
+11
+1
+--------------------
+100
+10
+10
+0
+--------------------
+--------------------
+99
+0
+Error: div by 0
+--------------------
+99
+1
+99
+0
+--------------------
+99
+2
+49
+1
+--------------------
+99
+3
+33
+0
+--------------------
+99
+4
+24
+3
+--------------------
+99
+5
+19
+4
+--------------------
+99
+6
+16
+3
+--------------------
+99
+7
+14
+1
+--------------------
+99
+8
+12
+3
+--------------------
+99
+9
+11
+0
+--------------------
+99
+10
+9
+9
+--------------------
+--------------------
+98
+0
+Error: div by 0
+--------------------
+98
+1
+98
+0
+--------------------
+98
+2
+49
+0
+--------------------
+98
+3
+32
+2
+--------------------
+98
+4
+24
+2
+--------------------
+98
+5
+19
+3
+--------------------
+98
+6
+16
+2
+--------------------
+98
+7
+14
+0
+--------------------
+98
+8
+12
+2
+--------------------
+98
+9
+10
+8
+--------------------
+98
+10
+9
+8
+--------------------
+--------------------
+97
+0
+Error: div by 0
+--------------------
+97
+1
+97
+0
+--------------------
+97
+2
+48
+1
+--------------------
+97
+3
+32
+1
+--------------------
+97
+4
+24
+1
+--------------------
+97
+5
+19
+2
+--------------------
+97
+6
+16
+1
+--------------------
+97
+7
+13
+6
+--------------------
+97
+8
+12
+1
+--------------------
+97
+9
+10
+7
+--------------------
+97
+10
+9
+7
+--------------------
+--------------------
+96
+0
+Error: div by 0
+--------------------
+96
+1
+96
+0
+--------------------
+96
+2
+48
+0
+--------------------
+96
+3
+32
+0
+--------------------
+96
+4
+24
+0
+--------------------
+96
+5
+19
+1
+--------------------
+96
+6
+16
+0
+--------------------
+96
+7
+13
+5
+--------------------
+96
+8
+12
+0
+--------------------
+96
+9
+10
+6
+--------------------
+96
+10
+9
+6
+--------------------
+--------------------
+95
+0
+Error: div by 0
+--------------------
+95
+1
+95
+0
+--------------------
+95
+2
+47
+1
+--------------------
+95
+3
+31
+2
+--------------------
+95
+4
+23
+3
+--------------------
+95
+5
+19
+0
+--------------------
+95
+6
+15
+5
+--------------------
+95
+7
+13
+4
+--------------------
+95
+8
+11
+7
+--------------------
+95
+9
+10
+5
+--------------------
+95
+10
+9
+5
+--------------------
+--------------------
+94
+0
+Error: div by 0
+--------------------
+94
+1
+94
+0
+--------------------
+94
+2
+47
+0
+--------------------
+94
+3
+31
+1
+--------------------
+94
+4
+23
+2
+--------------------
+94
+5
+18
+4
+--------------------
+94
+6
+15
+4
+--------------------
+94
+7
+13
+3
+--------------------
+94
+8
+11
+6
+--------------------
+94
+9
+10
+4
+--------------------
+94
+10
+9
+4
+--------------------
+--------------------
+93
+0
+Error: div by 0
+--------------------
+93
+1
+93
+0
+--------------------
+93
+2
+46
+1
+--------------------
+93
+3
+31
+0
+--------------------
+93
+4
+23
+1
+--------------------
+93
+5
+18
+3
+--------------------
+93
+6
+15
+3
+--------------------
+93
+7
+13
+2
+--------------------
+93
+8
+11
+5
+--------------------
+93
+9
+10
+3
+--------------------
+93
+10
+9
+3
+--------------------
+--------------------
+92
+0
+Error: div by 0
+--------------------
+92
+1
+92
+0
+--------------------
+92
+2
+46
+0
+--------------------
+92
+3
+30
+2
+--------------------
+92
+4
+23
+0
+--------------------
+92
+5
+18
+2
+--------------------
+92
+6
+15
+2
+--------------------
+92
+7
+13
+1
+--------------------
+92
+8
+11
+4
+--------------------
+92
+9
+10
+2
+--------------------
+92
+10
+9
+2
+--------------------
+--------------------
+91
+0
+Error: div by 0
+--------------------
+91
+1
+91
+0
+--------------------
+91
+2
+45
+1
+--------------------
+91
+3
+30
+1
+--------------------
+91
+4
+22
+3
+--------------------
+91
+5
+18
+1
+--------------------
+91
+6
+15
+1
+--------------------
+91
+7
+13
+0
+--------------------
+91
+8
+11
+3
+--------------------
+91
+9
+10
+1
+--------------------
+91
+10
+9
+1
+--------------------
+--------------------
+90
+0
+Error: div by 0
+--------------------
+90
+1
+90
+0
+--------------------
+90
+2
+45
+0
+--------------------
+90
+3
+30
+0
+--------------------
+90
+4
+22
+2
+--------------------
+90
+5
+18
+0
+--------------------
+90
+6
+15
+0
+--------------------
+90
+7
+12
+6
+--------------------
+90
+8
+11
+2
+--------------------
+90
+9
+10
+0
+--------------------
+90
+10
+9
+0
+--------------------
+--------------------
+89
+0
+Error: div by 0
+--------------------
+89
+1
+89
+0
+--------------------
+89
+2
+44
+1
+--------------------
+89
+3
+29
+2
+--------------------
+89
+4
+22
+1
+--------------------
+89
+5
+17
+4
+--------------------
+89
+6
+14
+5
+--------------------
+89
+7
+12
+5
+--------------------
+89
+8
+11
+1
+--------------------
+89
+9
+9
+8
+--------------------
+89
+10
+8
+9
+--------------------
+--------------------
+88
+0
+Error: div by 0
+--------------------
+88
+1
+88
+0
+--------------------
+88
+2
+44
+0
+--------------------
+88
+3
+29
+1
+--------------------
+88
+4
+22
+0
+--------------------
+88
+5
+17
+3
+--------------------
+88
+6
+14
+4
+--------------------
+88
+7
+12
+4
+--------------------
+88
+8
+11
+0
+--------------------
+88
+9
+9
+7
+--------------------
+88
+10
+8
+8
+--------------------
+--------------------
+87
+0
+Error: div by 0
+--------------------
+87
+1
+87
+0
+--------------------
+87
+2
+43
+1
+--------------------
+87
+3
+29
+0
+--------------------
+87
+4
+21
+3
+--------------------
+87
+5
+17
+2
+--------------------
+87
+6
+14
+3
+--------------------
+87
+7
+12
+3
+--------------------
+87
+8
+10
+7
+--------------------
+87
+9
+9
+6
+--------------------
+87
+10
+8
+7
+--------------------
+--------------------
+86
+0
+Error: div by 0
+--------------------
+86
+1
+86
+0
+--------------------
+86
+2
+43
+0
+--------------------
+86
+3
+28
+2
+--------------------
+86
+4
+21
+2
+--------------------
+86
+5
+17
+1
+--------------------
+86
+6
+14
+2
+--------------------
+86
+7
+12
+2
+--------------------
+86
+8
+10
+6
+--------------------
+86
+9
+9
+5
+--------------------
+86
+10
+8
+6
+--------------------
+--------------------
+85
+0
+Error: div by 0
+--------------------
+85
+1
+85
+0
+--------------------
+85
+2
+42
+1
+--------------------
+85
+3
+28
+1
+--------------------
+85
+4
+21
+1
+--------------------
+85
+5
+17
+0
+--------------------
+85
+6
+14
+1
+--------------------
+85
+7
+12
+1
+--------------------
+85
+8
+10
+5
+--------------------
+85
+9
+9
+4
+--------------------
+85
+10
+8
+5
+--------------------
+--------------------
+84
+0
+Error: div by 0
+--------------------
+84
+1
+84
+0
+--------------------
+84
+2
+42
+0
+--------------------
+84
+3
+28
+0
+--------------------
+84
+4
+21
+0
+--------------------
+84
+5
+16
+4
+--------------------
+84
+6
+14
+0
+--------------------
+84
+7
+12
+0
+--------------------
+84
+8
+10
+4
+--------------------
+84
+9
+9
+3
+--------------------
+84
+10
+8
+4
+--------------------
+--------------------
+83
+0
+Error: div by 0
+--------------------
+83
+1
+83
+0
+--------------------
+83
+2
+41
+1
+--------------------
+83
+3
+27
+2
+--------------------
+83
+4
+20
+3
+--------------------
+83
+5
+16
+3
+--------------------
+83
+6
+13
+5
+--------------------
+83
+7
+11
+6
+--------------------
+83
+8
+10
+3
+--------------------
+83
+9
+9
+2
+--------------------
+83
+10
+8
+3
+--------------------
+--------------------
+82
+0
+Error: div by 0
+--------------------
+82
+1
+82
+0
+--------------------
+82
+2
+41
+0
+--------------------
+82
+3
+27
+1
+--------------------
+82
+4
+20
+2
+--------------------
+82
+5
+16
+2
+--------------------
+82
+6
+13
+4
+--------------------
+82
+7
+11
+5
+--------------------
+82
+8
+10
+2
+--------------------
+82
+9
+9
+1
+--------------------
+82
+10
+8
+2
+--------------------
+--------------------
+81
+0
+Error: div by 0
+--------------------
+81
+1
+81
+0
+--------------------
+81
+2
+40
+1
+--------------------
+81
+3
+27
+0
+--------------------
+81
+4
+20
+1
+--------------------
+81
+5
+16
+1
+--------------------
+81
+6
+13
+3
+--------------------
+81
+7
+11
+4
+--------------------
+81
+8
+10
+1
+--------------------
+81
+9
+9
+0
+--------------------
+81
+10
+8
+1
+--------------------
+--------------------
+80
+0
+Error: div by 0
+--------------------
+80
+1
+80
+0
+--------------------
+80
+2
+40
+0
+--------------------
+80
+3
+26
+2
+--------------------
+80
+4
+20
+0
+--------------------
+80
+5
+16
+0
+--------------------
+80
+6
+13
+2
+--------------------
+80
+7
+11
+3
+--------------------
+80
+8
+10
+0
+--------------------
+80
+9
+8
+8
+--------------------
+80
+10
+8
+0
+--------------------
+--------------------
+79
+0
+Error: div by 0
+--------------------
+79
+1
+79
+0
+--------------------
+79
+2
+39
+1
+--------------------
+79
+3
+26
+1
+--------------------
+79
+4
+19
+3
+--------------------
+79
+5
+15
+4
+--------------------
+79
+6
+13
+1
+--------------------
+79
+7
+11
+2
+--------------------
+79
+8
+9
+7
+--------------------
+79
+9
+8
+7
+--------------------
+79
+10
+7
+9
+--------------------
+--------------------
+78
+0
+Error: div by 0
+--------------------
+78
+1
+78
+0
+--------------------
+78
+2
+39
+0
+--------------------
+78
+3
+26
+0
+--------------------
+78
+4
+19
+2
+--------------------
+78
+5
+15
+3
+--------------------
+78
+6
+13
+0
+--------------------
+78
+7
+11
+1
+--------------------
+78
+8
+9
+6
+--------------------
+78
+9
+8
+6
+--------------------
+78
+10
+7
+8
+--------------------
+--------------------
+77
+0
+Error: div by 0
+--------------------
+77
+1
+77
+0
+--------------------
+77
+2
+38
+1
+--------------------
+77
+3
+25
+2
+--------------------
+77
+4
+19
+1
+--------------------
+77
+5
+15
+2
+--------------------
+77
+6
+12
+5
+--------------------
+77
+7
+11
+0
+--------------------
+77
+8
+9
+5
+--------------------
+77
+9
+8
+5
+--------------------
+77
+10
+7
+7
+--------------------
+--------------------
+76
+0
+Error: div by 0
+--------------------
+76
+1
+76
+0
+--------------------
+76
+2
+38
+0
+--------------------
+76
+3
+25
+1
+--------------------
+76
+4
+19
+0
+--------------------
+76
+5
+15
+1
+--------------------
+76
+6
+12
+4
+--------------------
+76
+7
+10
+6
+--------------------
+76
+8
+9
+4
+--------------------
+76
+9
+8
+4
+--------------------
+76
+10
+7
+6
+--------------------
+--------------------
+75
+0
+Error: div by 0
+--------------------
+75
+1
+75
+0
+--------------------
+75
+2
+37
+1
+--------------------
+75
+3
+25
+0
+--------------------
+75
+4
+18
+3
+--------------------
+75
+5
+15
+0
+--------------------
+75
+6
+12
+3
+--------------------
+75
+7
+10
+5
+--------------------
+75
+8
+9
+3
+--------------------
+75
+9
+8
+3
+--------------------
+75
+10
+7
+5
+--------------------
+--------------------
+74
+0
+Error: div by 0
+--------------------
+74
+1
+74
+0
+--------------------
+74
+2
+37
+0
+--------------------
+74
+3
+24
+2
+--------------------
+74
+4
+18
+2
+--------------------
+74
+5
+14
+4
+--------------------
+74
+6
+12
+2
+--------------------
+74
+7
+10
+4
+--------------------
+74
+8
+9
+2
+--------------------
+74
+9
+8
+2
+--------------------
+74
+10
+7
+4
+--------------------
+--------------------
+73
+0
+Error: div by 0
+--------------------
+73
+1
+73
+0
+--------------------
+73
+2
+36
+1
+--------------------
+73
+3
+24
+1
+--------------------
+73
+4
+18
+1
+--------------------
+73
+5
+14
+3
+--------------------
+73
+6
+12
+1
+--------------------
+73
+7
+10
+3
+--------------------
+73
+8
+9
+1
+--------------------
+73
+9
+8
+1
+--------------------
+73
+10
+7
+3
+--------------------
+--------------------
+72
+0
+Error: div by 0
+--------------------
+72
+1
+72
+0
+--------------------
+72
+2
+36
+0
+--------------------
+72
+3
+24
+0
+--------------------
+72
+4
+18
+0
+--------------------
+72
+5
+14
+2
+--------------------
+72
+6
+12
+0
+--------------------
+72
+7
+10
+2
+--------------------
+72
+8
+9
+0
+--------------------
+72
+9
+8
+0
+--------------------
+72
+10
+7
+2
+--------------------
+--------------------
+71
+0
+Error: div by 0
+--------------------
+71
+1
+71
+0
+--------------------
+71
+2
+35
+1
+--------------------
+71
+3
+23
+2
+--------------------
+71
+4
+17
+3
+--------------------
+71
+5
+14
+1
+--------------------
+71
+6
+11
+5
+--------------------
+71
+7
+10
+1
+--------------------
+71
+8
+8
+7
+--------------------
+71
+9
+7
+8
+--------------------
+71
+10
+7
+1
+--------------------
+--------------------
+70
+0
+Error: div by 0
+--------------------
+70
+1
+70
+0
+--------------------
+70
+2
+35
+0
+--------------------
+70
+3
+23
+1
+--------------------
+70
+4
+17
+2
+--------------------
+70
+5
+14
+0
+--------------------
+70
+6
+11
+4
+--------------------
+70
+7
+10
+0
+--------------------
+70
+8
+8
+6
+--------------------
+70
+9
+7
+7
+--------------------
+70
+10
+7
+0
+--------------------
+--------------------
+69
+0
+Error: div by 0
+--------------------
+69
+1
+69
+0
+--------------------
+69
+2
+34
+1
+--------------------
+69
+3
+23
+0
+--------------------
+69
+4
+17
+1
+--------------------
+69
+5
+13
+4
+--------------------
+69
+6
+11
+3
+--------------------
+69
+7
+9
+6
+--------------------
+69
+8
+8
+5
+--------------------
+69
+9
+7
+6
+--------------------
+69
+10
+6
+9
+--------------------
+--------------------
+68
+0
+Error: div by 0
+--------------------
+68
+1
+68
+0
+--------------------
+68
+2
+34
+0
+--------------------
+68
+3
+22
+2
+--------------------
+68
+4
+17
+0
+--------------------
+68
+5
+13
+3
+--------------------
+68
+6
+11
+2
+--------------------
+68
+7
+9
+5
+--------------------
+68
+8
+8
+4
+--------------------
+68
+9
+7
+5
+--------------------
+68
+10
+6
+8
+--------------------
+--------------------
+67
+0
+Error: div by 0
+--------------------
+67
+1
+67
+0
+--------------------
+67
+2
+33
+1
+--------------------
+67
+3
+22
+1
+--------------------
+67
+4
+16
+3
+--------------------
+67
+5
+13
+2
+--------------------
+67
+6
+11
+1
+--------------------
+67
+7
+9
+4
+--------------------
+67
+8
+8
+3
+--------------------
+67
+9
+7
+4
+--------------------
+67
+10
+6
+7
+--------------------
+--------------------
+66
+0
+Error: div by 0
+--------------------
+66
+1
+66
+0
+--------------------
+66
+2
+33
+0
+--------------------
+66
+3
+22
+0
+--------------------
+66
+4
+16
+2
+--------------------
+66
+5
+13
+1
+--------------------
+66
+6
+11
+0
+--------------------
+66
+7
+9
+3
+--------------------
+66
+8
+8
+2
+--------------------
+66
+9
+7
+3
+--------------------
+66
+10
+6
+6
+--------------------
+--------------------
+65
+0
+Error: div by 0
+--------------------
+65
+1
+65
+0
+--------------------
+65
+2
+32
+1
+--------------------
+65
+3
+21
+2
+--------------------
+65
+4
+16
+1
+--------------------
+65
+5
+13
+0
+--------------------
+65
+6
+10
+5
+--------------------
+65
+7
+9
+2
+--------------------
+65
+8
+8
+1
+--------------------
+65
+9
+7
+2
+--------------------
+65
+10
+6
+5
+--------------------
+--------------------
+64
+0
+Error: div by 0
+--------------------
+64
+1
+64
+0
+--------------------
+64
+2
+32
+0
+--------------------
+64
+3
+21
+1
+--------------------
+64
+4
+16
+0
+--------------------
+64
+5
+12
+4
+--------------------
+64
+6
+10
+4
+--------------------
+64
+7
+9
+1
+--------------------
+64
+8
+8
+0
+--------------------
+64
+9
+7
+1
+--------------------
+64
+10
+6
+4
+--------------------
+--------------------
+63
+0
+Error: div by 0
+--------------------
+63
+1
+63
+0
+--------------------
+63
+2
+31
+1
+--------------------
+63
+3
+21
+0
+--------------------
+63
+4
+15
+3
+--------------------
+63
+5
+12
+3
+--------------------
+63
+6
+10
+3
+--------------------
+63
+7
+9
+0
+--------------------
+63
+8
+7
+7
+--------------------
+63
+9
+7
+0
+--------------------
+63
+10
+6
+3
+--------------------
+--------------------
+62
+0
+Error: div by 0
+--------------------
+62
+1
+62
+0
+--------------------
+62
+2
+31
+0
+--------------------
+62
+3
+20
+2
+--------------------
+62
+4
+15
+2
+--------------------
+62
+5
+12
+2
+--------------------
+62
+6
+10
+2
+--------------------
+62
+7
+8
+6
+--------------------
+62
+8
+7
+6
+--------------------
+62
+9
+6
+8
+--------------------
+62
+10
+6
+2
+--------------------
+--------------------
+61
+0
+Error: div by 0
+--------------------
+61
+1
+61
+0
+--------------------
+61
+2
+30
+1
+--------------------
+61
+3
+20
+1
+--------------------
+61
+4
+15
+1
+--------------------
+61
+5
+12
+1
+--------------------
+61
+6
+10
+1
+--------------------
+61
+7
+8
+5
+--------------------
+61
+8
+7
+5
+--------------------
+61
+9
+6
+7
+--------------------
+61
+10
+6
+1
+--------------------
+--------------------
+60
+0
+Error: div by 0
+--------------------
+60
+1
+60
+0
+--------------------
+60
+2
+30
+0
+--------------------
+60
+3
+20
+0
+--------------------
+60
+4
+15
+0
+--------------------
+60
+5
+12
+0
+--------------------
+60
+6
+10
+0
+--------------------
+60
+7
+8
+4
+--------------------
+60
+8
+7
+4
+--------------------
+60
+9
+6
+6
+--------------------
+60
+10
+6
+0
+--------------------
+--------------------
+59
+0
+Error: div by 0
+--------------------
+59
+1
+59
+0
+--------------------
+59
+2
+29
+1
+--------------------
+59
+3
+19
+2
+--------------------
+59
+4
+14
+3
+--------------------
+59
+5
+11
+4
+--------------------
+59
+6
+9
+5
+--------------------
+59
+7
+8
+3
+--------------------
+59
+8
+7
+3
+--------------------
+59
+9
+6
+5
+--------------------
+59
+10
+5
+9
+--------------------
+--------------------
+58
+0
+Error: div by 0
+--------------------
+58
+1
+58
+0
+--------------------
+58
+2
+29
+0
+--------------------
+58
+3
+19
+1
+--------------------
+58
+4
+14
+2
+--------------------
+58
+5
+11
+3
+--------------------
+58
+6
+9
+4
+--------------------
+58
+7
+8
+2
+--------------------
+58
+8
+7
+2
+--------------------
+58
+9
+6
+4
+--------------------
+58
+10
+5
+8
+--------------------
+--------------------
+57
+0
+Error: div by 0
+--------------------
+57
+1
+57
+0
+--------------------
+57
+2
+28
+1
+--------------------
+57
+3
+19
+0
+--------------------
+57
+4
+14
+1
+--------------------
+57
+5
+11
+2
+--------------------
+57
+6
+9
+3
+--------------------
+57
+7
+8
+1
+--------------------
+57
+8
+7
+1
+--------------------
+57
+9
+6
+3
+--------------------
+57
+10
+5
+7
+--------------------
+--------------------
+56
+0
+Error: div by 0
+--------------------
+56
+1
+56
+0
+--------------------
+56
+2
+28
+0
+--------------------
+56
+3
+18
+2
+--------------------
+56
+4
+14
+0
+--------------------
+56
+5
+11
+1
+--------------------
+56
+6
+9
+2
+--------------------
+56
+7
+8
+0
+--------------------
+56
+8
+7
+0
+--------------------
+56
+9
+6
+2
+--------------------
+56
+10
+5
+6
+--------------------
+--------------------
+55
+0
+Error: div by 0
+--------------------
+55
+1
+55
+0
+--------------------
+55
+2
+27
+1
+--------------------
+55
+3
+18
+1
+--------------------
+55
+4
+13
+3
+--------------------
+55
+5
+11
+0
+--------------------
+55
+6
+9
+1
+--------------------
+55
+7
+7
+6
+--------------------
+55
+8
+6
+7
+--------------------
+55
+9
+6
+1
+--------------------
+55
+10
+5
+5
+--------------------
+--------------------
+54
+0
+Error: div by 0
+--------------------
+54
+1
+54
+0
+--------------------
+54
+2
+27
+0
+--------------------
+54
+3
+18
+0
+--------------------
+54
+4
+13
+2
+--------------------
+54
+5
+10
+4
+--------------------
+54
+6
+9
+0
+--------------------
+54
+7
+7
+5
+--------------------
+54
+8
+6
+6
+--------------------
+54
+9
+6
+0
+--------------------
+54
+10
+5
+4
+--------------------
+--------------------
+53
+0
+Error: div by 0
+--------------------
+53
+1
+53
+0
+--------------------
+53
+2
+26
+1
+--------------------
+53
+3
+17
+2
+--------------------
+53
+4
+13
+1
+--------------------
+53
+5
+10
+3
+--------------------
+53
+6
+8
+5
+--------------------
+53
+7
+7
+4
+--------------------
+53
+8
+6
+5
+--------------------
+53
+9
+5
+8
+--------------------
+53
+10
+5
+3
+--------------------
+--------------------
+52
+0
+Error: div by 0
+--------------------
+52
+1
+52
+0
+--------------------
+52
+2
+26
+0
+--------------------
+52
+3
+17
+1
+--------------------
+52
+4
+13
+0
+--------------------
+52
+5
+10
+2
+--------------------
+52
+6
+8
+4
+--------------------
+52
+7
+7
+3
+--------------------
+52
+8
+6
+4
+--------------------
+52
+9
+5
+7
+--------------------
+52
+10
+5
+2
+--------------------
+--------------------
+51
+0
+Error: div by 0
+--------------------
+51
+1
+51
+0
+--------------------
+51
+2
+25
+1
+--------------------
+51
+3
+17
+0
+--------------------
+51
+4
+12
+3
+--------------------
+51
+5
+10
+1
+--------------------
+51
+6
+8
+3
+--------------------
+51
+7
+7
+2
+--------------------
+51
+8
+6
+3
+--------------------
+51
+9
+5
+6
+--------------------
+51
+10
+5
+1
+--------------------
+--------------------
+50
+0
+Error: div by 0
+--------------------
+50
+1
+50
+0
+--------------------
+50
+2
+25
+0
+--------------------
+50
+3
+16
+2
+--------------------
+50
+4
+12
+2
+--------------------
+50
+5
+10
+0
+--------------------
+50
+6
+8
+2
+--------------------
+50
+7
+7
+1
+--------------------
+50
+8
+6
+2
+--------------------
+50
+9
+5
+5
+--------------------
+50
+10
+5
+0
+--------------------
+--------------------
+49
+0
+Error: div by 0
+--------------------
+49
+1
+49
+0
+--------------------
+49
+2
+24
+1
+--------------------
+49
+3
+16
+1
+--------------------
+49
+4
+12
+1
+--------------------
+49
+5
+9
+4
+--------------------
+49
+6
+8
+1
+--------------------
+49
+7
+7
+0
+--------------------
+49
+8
+6
+1
+--------------------
+49
+9
+5
+4
+--------------------
+49
+10
+4
+9
+--------------------
+--------------------
+48
+0
+Error: div by 0
+--------------------
+48
+1
+48
+0
+--------------------
+48
+2
+24
+0
+--------------------
+48
+3
+16
+0
+--------------------
+48
+4
+12
+0
+--------------------
+48
+5
+9
+3
+--------------------
+48
+6
+8
+0
+--------------------
+48
+7
+6
+6
+--------------------
+48
+8
+6
+0
+--------------------
+48
+9
+5
+3
+--------------------
+48
+10
+4
+8
+--------------------
+--------------------
+47
+0
+Error: div by 0
+--------------------
+47
+1
+47
+0
+--------------------
+47
+2
+23
+1
+--------------------
+47
+3
+15
+2
+--------------------
+47
+4
+11
+3
+--------------------
+47
+5
+9
+2
+--------------------
+47
+6
+7
+5
+--------------------
+47
+7
+6
+5
+--------------------
+47
+8
+5
+7
+--------------------
+47
+9
+5
+2
+--------------------
+47
+10
+4
+7
+--------------------
+--------------------
+46
+0
+Error: div by 0
+--------------------
+46
+1
+46
+0
+--------------------
+46
+2
+23
+0
+--------------------
+46
+3
+15
+1
+--------------------
+46
+4
+11
+2
+--------------------
+46
+5
+9
+1
+--------------------
+46
+6
+7
+4
+--------------------
+46
+7
+6
+4
+--------------------
+46
+8
+5
+6
+--------------------
+46
+9
+5
+1
+--------------------
+46
+10
+4
+6
+--------------------
+--------------------
+45
+0
+Error: div by 0
+--------------------
+45
+1
+45
+0
+--------------------
+45
+2
+22
+1
+--------------------
+45
+3
+15
+0
+--------------------
+45
+4
+11
+1
+--------------------
+45
+5
+9
+0
+--------------------
+45
+6
+7
+3
+--------------------
+45
+7
+6
+3
+--------------------
+45
+8
+5
+5
+--------------------
+45
+9
+5
+0
+--------------------
+45
+10
+4
+5
+--------------------
+--------------------
+44
+0
+Error: div by 0
+--------------------
+44
+1
+44
+0
+--------------------
+44
+2
+22
+0
+--------------------
+44
+3
+14
+2
+--------------------
+44
+4
+11
+0
+--------------------
+44
+5
+8
+4
+--------------------
+44
+6
+7
+2
+--------------------
+44
+7
+6
+2
+--------------------
+44
+8
+5
+4
+--------------------
+44
+9
+4
+8
+--------------------
+44
+10
+4
+4
+--------------------
+--------------------
+43
+0
+Error: div by 0
+--------------------
+43
+1
+43
+0
+--------------------
+43
+2
+21
+1
+--------------------
+43
+3
+14
+1
+--------------------
+43
+4
+10
+3
+--------------------
+43
+5
+8
+3
+--------------------
+43
+6
+7
+1
+--------------------
+43
+7
+6
+1
+--------------------
+43
+8
+5
+3
+--------------------
+43
+9
+4
+7
+--------------------
+43
+10
+4
+3
+--------------------
+--------------------
+42
+0
+Error: div by 0
+--------------------
+42
+1
+42
+0
+--------------------
+42
+2
+21
+0
+--------------------
+42
+3
+14
+0
+--------------------
+42
+4
+10
+2
+--------------------
+42
+5
+8
+2
+--------------------
+42
+6
+7
+0
+--------------------
+42
+7
+6
+0
+--------------------
+42
+8
+5
+2
+--------------------
+42
+9
+4
+6
+--------------------
+42
+10
+4
+2
+--------------------
+--------------------
+41
+0
+Error: div by 0
+--------------------
+41
+1
+41
+0
+--------------------
+41
+2
+20
+1
+--------------------
+41
+3
+13
+2
+--------------------
+41
+4
+10
+1
+--------------------
+41
+5
+8
+1
+--------------------
+41
+6
+6
+5
+--------------------
+41
+7
+5
+6
+--------------------
+41
+8
+5
+1
+--------------------
+41
+9
+4
+5
+--------------------
+41
+10
+4
+1
+--------------------
+--------------------
+40
+0
+Error: div by 0
+--------------------
+40
+1
+40
+0
+--------------------
+40
+2
+20
+0
+--------------------
+40
+3
+13
+1
+--------------------
+40
+4
+10
+0
+--------------------
+40
+5
+8
+0
+--------------------
+40
+6
+6
+4
+--------------------
+40
+7
+5
+5
+--------------------
+40
+8
+5
+0
+--------------------
+40
+9
+4
+4
+--------------------
+40
+10
+4
+0
+--------------------
+--------------------
+39
+0
+Error: div by 0
+--------------------
+39
+1
+39
+0
+--------------------
+39
+2
+19
+1
+--------------------
+39
+3
+13
+0
+--------------------
+39
+4
+9
+3
+--------------------
+39
+5
+7
+4
+--------------------
+39
+6
+6
+3
+--------------------
+39
+7
+5
+4
+--------------------
+39
+8
+4
+7
+--------------------
+39
+9
+4
+3
+--------------------
+39
+10
+3
+9
+--------------------
+--------------------
+38
+0
+Error: div by 0
+--------------------
+38
+1
+38
+0
+--------------------
+38
+2
+19
+0
+--------------------
+38
+3
+12
+2
+--------------------
+38
+4
+9
+2
+--------------------
+38
+5
+7
+3
+--------------------
+38
+6
+6
+2
+--------------------
+38
+7
+5
+3
+--------------------
+38
+8
+4
+6
+--------------------
+38
+9
+4
+2
+--------------------
+38
+10
+3
+8
+--------------------
+--------------------
+37
+0
+Error: div by 0
+--------------------
+37
+1
+37
+0
+--------------------
+37
+2
+18
+1
+--------------------
+37
+3
+12
+1
+--------------------
+37
+4
+9
+1
+--------------------
+37
+5
+7
+2
+--------------------
+37
+6
+6
+1
+--------------------
+37
+7
+5
+2
+--------------------
+37
+8
+4
+5
+--------------------
+37
+9
+4
+1
+--------------------
+37
+10
+3
+7
+--------------------
+--------------------
+36
+0
+Error: div by 0
+--------------------
+36
+1
+36
+0
+--------------------
+36
+2
+18
+0
+--------------------
+36
+3
+12
+0
+--------------------
+36
+4
+9
+0
+--------------------
+36
+5
+7
+1
+--------------------
+36
+6
+6
+0
+--------------------
+36
+7
+5
+1
+--------------------
+36
+8
+4
+4
+--------------------
+36
+9
+4
+0
+--------------------
+36
+10
+3
+6
+--------------------
+--------------------
+35
+0
+Error: div by 0
+--------------------
+35
+1
+35
+0
+--------------------
+35
+2
+17
+1
+--------------------
+35
+3
+11
+2
+--------------------
+35
+4
+8
+3
+--------------------
+35
+5
+7
+0
+--------------------
+35
+6
+5
+5
+--------------------
+35
+7
+5
+0
+--------------------
+35
+8
+4
+3
+--------------------
+35
+9
+3
+8
+--------------------
+35
+10
+3
+5
+--------------------
+--------------------
+34
+0
+Error: div by 0
+--------------------
+34
+1
+34
+0
+--------------------
+34
+2
+17
+0
+--------------------
+34
+3
+11
+1
+--------------------
+34
+4
+8
+2
+--------------------
+34
+5
+6
+4
+--------------------
+34
+6
+5
+4
+--------------------
+34
+7
+4
+6
+--------------------
+34
+8
+4
+2
+--------------------
+34
+9
+3
+7
+--------------------
+34
+10
+3
+4
+--------------------
+--------------------
+33
+0
+Error: div by 0
+--------------------
+33
+1
+33
+0
+--------------------
+33
+2
+16
+1
+--------------------
+33
+3
+11
+0
+--------------------
+33
+4
+8
+1
+--------------------
+33
+5
+6
+3
+--------------------
+33
+6
+5
+3
+--------------------
+33
+7
+4
+5
+--------------------
+33
+8
+4
+1
+--------------------
+33
+9
+3
+6
+--------------------
+33
+10
+3
+3
+--------------------
+--------------------
+32
+0
+Error: div by 0
+--------------------
+32
+1
+32
+0
+--------------------
+32
+2
+16
+0
+--------------------
+32
+3
+10
+2
+--------------------
+32
+4
+8
+0
+--------------------
+32
+5
+6
+2
+--------------------
+32
+6
+5
+2
+--------------------
+32
+7
+4
+4
+--------------------
+32
+8
+4
+0
+--------------------
+32
+9
+3
+5
+--------------------
+32
+10
+3
+2
+--------------------
+--------------------
+31
+0
+Error: div by 0
+--------------------
+31
+1
+31
+0
+--------------------
+31
+2
+15
+1
+--------------------
+31
+3
+10
+1
+--------------------
+31
+4
+7
+3
+--------------------
+31
+5
+6
+1
+--------------------
+31
+6
+5
+1
+--------------------
+31
+7
+4
+3
+--------------------
+31
+8
+3
+7
+--------------------
+31
+9
+3
+4
+--------------------
+31
+10
+3
+1
+--------------------
+--------------------
+30
+0
+Error: div by 0
+--------------------
+30
+1
+30
+0
+--------------------
+30
+2
+15
+0
+--------------------
+30
+3
+10
+0
+--------------------
+30
+4
+7
+2
+--------------------
+30
+5
+6
+0
+--------------------
+30
+6
+5
+0
+--------------------
+30
+7
+4
+2
+--------------------
+30
+8
+3
+6
+--------------------
+30
+9
+3
+3
+--------------------
+30
+10
+3
+0
+--------------------
+--------------------
+29
+0
+Error: div by 0
+--------------------
+29
+1
+29
+0
+--------------------
+29
+2
+14
+1
+--------------------
+29
+3
+9
+2
+--------------------
+29
+4
+7
+1
+--------------------
+29
+5
+5
+4
+--------------------
+29
+6
+4
+5
+--------------------
+29
+7
+4
+1
+--------------------
+29
+8
+3
+5
+--------------------
+29
+9
+3
+2
+--------------------
+29
+10
+2
+9
+--------------------
+--------------------
+28
+0
+Error: div by 0
+--------------------
+28
+1
+28
+0
+--------------------
+28
+2
+14
+0
+--------------------
+28
+3
+9
+1
+--------------------
+28
+4
+7
+0
+--------------------
+28
+5
+5
+3
+--------------------
+28
+6
+4
+4
+--------------------
+28
+7
+4
+0
+--------------------
+28
+8
+3
+4
+--------------------
+28
+9
+3
+1
+--------------------
+28
+10
+2
+8
+--------------------
+--------------------
+27
+0
+Error: div by 0
+--------------------
+27
+1
+27
+0
+--------------------
+27
+2
+13
+1
+--------------------
+27
+3
+9
+0
+--------------------
+27
+4
+6
+3
+--------------------
+27
+5
+5
+2
+--------------------
+27
+6
+4
+3
+--------------------
+27
+7
+3
+6
+--------------------
+27
+8
+3
+3
+--------------------
+27
+9
+3
+0
+--------------------
+27
+10
+2
+7
+--------------------
+--------------------
+26
+0
+Error: div by 0
+--------------------
+26
+1
+26
+0
+--------------------
+26
+2
+13
+0
+--------------------
+26
+3
+8
+2
+--------------------
+26
+4
+6
+2
+--------------------
+26
+5
+5
+1
+--------------------
+26
+6
+4
+2
+--------------------
+26
+7
+3
+5
+--------------------
+26
+8
+3
+2
+--------------------
+26
+9
+2
+8
+--------------------
+26
+10
+2
+6
+--------------------
+--------------------
+25
+0
+Error: div by 0
+--------------------
+25
+1
+25
+0
+--------------------
+25
+2
+12
+1
+--------------------
+25
+3
+8
+1
+--------------------
+25
+4
+6
+1
+--------------------
+25
+5
+5
+0
+--------------------
+25
+6
+4
+1
+--------------------
+25
+7
+3
+4
+--------------------
+25
+8
+3
+1
+--------------------
+25
+9
+2
+7
+--------------------
+25
+10
+2
+5
+--------------------
+--------------------
+24
+0
+Error: div by 0
+--------------------
+24
+1
+24
+0
+--------------------
+24
+2
+12
+0
+--------------------
+24
+3
+8
+0
+--------------------
+24
+4
+6
+0
+--------------------
+24
+5
+4
+4
+--------------------
+24
+6
+4
+0
+--------------------
+24
+7
+3
+3
+--------------------
+24
+8
+3
+0
+--------------------
+24
+9
+2
+6
+--------------------
+24
+10
+2
+4
+--------------------
+--------------------
+23
+0
+Error: div by 0
+--------------------
+23
+1
+23
+0
+--------------------
+23
+2
+11
+1
+--------------------
+23
+3
+7
+2
+--------------------
+23
+4
+5
+3
+--------------------
+23
+5
+4
+3
+--------------------
+23
+6
+3
+5
+--------------------
+23
+7
+3
+2
+--------------------
+23
+8
+2
+7
+--------------------
+23
+9
+2
+5
+--------------------
+23
+10
+2
+3
+--------------------
+--------------------
+22
+0
+Error: div by 0
+--------------------
+22
+1
+22
+0
+--------------------
+22
+2
+11
+0
+--------------------
+22
+3
+7
+1
+--------------------
+22
+4
+5
+2
+--------------------
+22
+5
+4
+2
+--------------------
+22
+6
+3
+4
+--------------------
+22
+7
+3
+1
+--------------------
+22
+8
+2
+6
+--------------------
+22
+9
+2
+4
+--------------------
+22
+10
+2
+2
+--------------------
+--------------------
+21
+0
+Error: div by 0
+--------------------
+21
+1
+21
+0
+--------------------
+21
+2
+10
+1
+--------------------
+21
+3
+7
+0
+--------------------
+21
+4
+5
+1
+--------------------
+21
+5
+4
+1
+--------------------
+21
+6
+3
+3
+--------------------
+21
+7
+3
+0
+--------------------
+21
+8
+2
+5
+--------------------
+21
+9
+2
+3
+--------------------
+21
+10
+2
+1
+--------------------
+--------------------
+20
+0
+Error: div by 0
+--------------------
+20
+1
+20
+0
+--------------------
+20
+2
+10
+0
+--------------------
+20
+3
+6
+2
+--------------------
+20
+4
+5
+0
+--------------------
+20
+5
+4
+0
+--------------------
+20
+6
+3
+2
+--------------------
+20
+7
+2
+6
+--------------------
+20
+8
+2
+4
+--------------------
+20
+9
+2
+2
+--------------------
+20
+10
+2
+0
+--------------------
+--------------------
+19
+0
+Error: div by 0
+--------------------
+19
+1
+19
+0
+--------------------
+19
+2
+9
+1
+--------------------
+19
+3
+6
+1
+--------------------
+19
+4
+4
+3
+--------------------
+19
+5
+3
+4
+--------------------
+19
+6
+3
+1
+--------------------
+19
+7
+2
+5
+--------------------
+19
+8
+2
+3
+--------------------
+19
+9
+2
+1
+--------------------
+19
+10
+1
+9
+--------------------
+--------------------
+18
+0
+Error: div by 0
+--------------------
+18
+1
+18
+0
+--------------------
+18
+2
+9
+0
+--------------------
+18
+3
+6
+0
+--------------------
+18
+4
+4
+2
+--------------------
+18
+5
+3
+3
+--------------------
+18
+6
+3
+0
+--------------------
+18
+7
+2
+4
+--------------------
+18
+8
+2
+2
+--------------------
+18
+9
+2
+0
+--------------------
+18
+10
+1
+8
+--------------------
+--------------------
+17
+0
+Error: div by 0
+--------------------
+17
+1
+17
+0
+--------------------
+17
+2
+8
+1
+--------------------
+17
+3
+5
+2
+--------------------
+17
+4
+4
+1
+--------------------
+17
+5
+3
+2
+--------------------
+17
+6
+2
+5
+--------------------
+17
+7
+2
+3
+--------------------
+17
+8
+2
+1
+--------------------
+17
+9
+1
+8
+--------------------
+17
+10
+1
+7
+--------------------
+--------------------
+16
+0
+Error: div by 0
+--------------------
+16
+1
+16
+0
+--------------------
+16
+2
+8
+0
+--------------------
+16
+3
+5
+1
+--------------------
+16
+4
+4
+0
+--------------------
+16
+5
+3
+1
+--------------------
+16
+6
+2
+4
+--------------------
+16
+7
+2
+2
+--------------------
+16
+8
+2
+0
+--------------------
+16
+9
+1
+7
+--------------------
+16
+10
+1
+6
+--------------------
+--------------------
+15
+0
+Error: div by 0
+--------------------
+15
+1
+15
+0
+--------------------
+15
+2
+7
+1
+--------------------
+15
+3
+5
+0
+--------------------
+15
+4
+3
+3
+--------------------
+15
+5
+3
+0
+--------------------
+15
+6
+2
+3
+--------------------
+15
+7
+2
+1
+--------------------
+15
+8
+1
+7
+--------------------
+15
+9
+1
+6
+--------------------
+15
+10
+1
+5
+--------------------
+--------------------
+14
+0
+Error: div by 0
+--------------------
+14
+1
+14
+0
+--------------------
+14
+2
+7
+0
+--------------------
+14
+3
+4
+2
+--------------------
+14
+4
+3
+2
+--------------------
+14
+5
+2
+4
+--------------------
+14
+6
+2
+2
+--------------------
+14
+7
+2
+0
+--------------------
+14
+8
+1
+6
+--------------------
+14
+9
+1
+5
+--------------------
+14
+10
+1
+4
+--------------------
+--------------------
+13
+0
+Error: div by 0
+--------------------
+13
+1
+13
+0
+--------------------
+13
+2
+6
+1
+--------------------
+13
+3
+4
+1
+--------------------
+13
+4
+3
+1
+--------------------
+13
+5
+2
+3
+--------------------
+13
+6
+2
+1
+--------------------
+13
+7
+1
+6
+--------------------
+13
+8
+1
+5
+--------------------
+13
+9
+1
+4
+--------------------
+13
+10
+1
+3
+--------------------
+--------------------
+12
+0
+Error: div by 0
+--------------------
+12
+1
+12
+0
+--------------------
+12
+2
+6
+0
+--------------------
+12
+3
+4
+0
+--------------------
+12
+4
+3
+0
+--------------------
+12
+5
+2
+2
+--------------------
+12
+6
+2
+0
+--------------------
+12
+7
+1
+5
+--------------------
+12
+8
+1
+4
+--------------------
+12
+9
+1
+3
+--------------------
+12
+10
+1
+2
+--------------------
+--------------------
+11
+0
+Error: div by 0
+--------------------
+11
+1
+11
+0
+--------------------
+11
+2
+5
+1
+--------------------
+11
+3
+3
+2
+--------------------
+11
+4
+2
+3
+--------------------
+11
+5
+2
+1
+--------------------
+11
+6
+1
+5
+--------------------
+11
+7
+1
+4
+--------------------
+11
+8
+1
+3
+--------------------
+11
+9
+1
+2
+--------------------
+11
+10
+1
+1
+--------------------
+--------------------
+10
+0
+Error: div by 0
+--------------------
+10
+1
+10
+0
+--------------------
+10
+2
+5
+0
+--------------------
+10
+3
+3
+1
+--------------------
+10
+4
+2
+2
+--------------------
+10
+5
+2
+0
+--------------------
+10
+6
+1
+4
+--------------------
+10
+7
+1
+3
+--------------------
+10
+8
+1
+2
+--------------------
+10
+9
+1
+1
+--------------------
+10
+10
+1
+0
+--------------------
+--------------------
+9
+0
+Error: div by 0
+--------------------
+9
+1
+9
+0
+--------------------
+9
+2
+4
+1
+--------------------
+9
+3
+3
+0
+--------------------
+9
+4
+2
+1
+--------------------
+9
+5
+1
+4
+--------------------
+9
+6
+1
+3
+--------------------
+9
+7
+1
+2
+--------------------
+9
+8
+1
+1
+--------------------
+9
+9
+1
+0
+--------------------
+9
+10
+0
+9
+--------------------
+--------------------
+8
+0
+Error: div by 0
+--------------------
+8
+1
+8
+0
+--------------------
+8
+2
+4
+0
+--------------------
+8
+3
+2
+2
+--------------------
+8
+4
+2
+0
+--------------------
+8
+5
+1
+3
+--------------------
+8
+6
+1
+2
+--------------------
+8
+7
+1
+1
+--------------------
+8
+8
+1
+0
+--------------------
+8
+9
+0
+8
+--------------------
+8
+10
+0
+8
+--------------------
+--------------------
+7
+0
+Error: div by 0
+--------------------
+7
+1
+7
+0
+--------------------
+7
+2
+3
+1
+--------------------
+7
+3
+2
+1
+--------------------
+7
+4
+1
+3
+--------------------
+7
+5
+1
+2
+--------------------
+7
+6
+1
+1
+--------------------
+7
+7
+1
+0
+--------------------
+7
+8
+0
+7
+--------------------
+7
+9
+0
+7
+--------------------
+7
+10
+0
+7
+--------------------
+--------------------
+6
+0
+Error: div by 0
+--------------------
+6
+1
+6
+0
+--------------------
+6
+2
+3
+0
+--------------------
+6
+3
+2
+0
+--------------------
+6
+4
+1
+2
+--------------------
+6
+5
+1
+1
+--------------------
+6
+6
+1
+0
+--------------------
+6
+7
+0
+6
+--------------------
+6
+8
+0
+6
+--------------------
+6
+9
+0
+6
+--------------------
+6
+10
+0
+6
+--------------------
+--------------------
+5
+0
+Error: div by 0
+--------------------
+5
+1
+5
+0
+--------------------
+5
+2
+2
+1
+--------------------
+5
+3
+1
+2
+--------------------
+5
+4
+1
+1
+--------------------
+5
+5
+1
+0
+--------------------
+5
+6
+0
+5
+--------------------
+5
+7
+0
+5
+--------------------
+5
+8
+0
+5
+--------------------
+5
+9
+0
+5
+--------------------
+5
+10
+0
+5
+--------------------
+--------------------
+4
+0
+Error: div by 0
+--------------------
+4
+1
+4
+0
+--------------------
+4
+2
+2
+0
+--------------------
+4
+3
+1
+1
+--------------------
+4
+4
+1
+0
+--------------------
+4
+5
+0
+4
+--------------------
+4
+6
+0
+4
+--------------------
+4
+7
+0
+4
+--------------------
+4
+8
+0
+4
+--------------------
+4
+9
+0
+4
+--------------------
+4
+10
+0
+4
+--------------------
+--------------------
+3
+0
+Error: div by 0
+--------------------
+3
+1
+3
+0
+--------------------
+3
+2
+1
+1
+--------------------
+3
+3
+1
+0
+--------------------
+3
+4
+0
+3
+--------------------
+3
+5
+0
+3
+--------------------
+3
+6
+0
+3
+--------------------
+3
+7
+0
+3
+--------------------
+3
+8
+0
+3
+--------------------
+3
+9
+0
+3
+--------------------
+3
+10
+0
+3
+--------------------
+--------------------
+2
+0
+Error: div by 0
+--------------------
+2
+1
+2
+0
+--------------------
+2
+2
+1
+0
+--------------------
+2
+3
+0
+2
+--------------------
+2
+4
+0
+2
+--------------------
+2
+5
+0
+2
+--------------------
+2
+6
+0
+2
+--------------------
+2
+7
+0
+2
+--------------------
+2
+8
+0
+2
+--------------------
+2
+9
+0
+2
+--------------------
+2
+10
+0
+2
+--------------------
+--------------------
+1
+0
+Error: div by 0
+--------------------
+1
+1
+1
+0
+--------------------
+1
+2
+0
+1
+--------------------
+1
+3
+0
+1
+--------------------
+1
+4
+0
+1
+--------------------
+1
+5
+0
+1
+--------------------
+1
+6
+0
+1
+--------------------
+1
+7
+0
+1
+--------------------
+1
+8
+0
+1
+--------------------
+1
+9
+0
+1
+--------------------
+1
+10
+0
+1
+--------------------
+--------------------
+0
+0
+Error: div by 0
+--------------------
+0
+1
+0
+0
+--------------------
+0
+2
+0
+0
+--------------------
+0
+3
+0
+0
+--------------------
+0
+4
+0
+0
+--------------------
+0
+5
+0
+0
+--------------------
+0
+6
+0
+0
+--------------------
+0
+7
+0
+0
+--------------------
+0
+8
+0
+0
+--------------------
+0
+9
+0
+0
+--------------------
+0
+10
+0
+0
+--------------------
--- /dev/null
+divl0_call: Test Success 2010-02-07 18:16:35
-../../../../casl2 ../../../../as/FUNC/fib_outl.casl ../../../../as/FUNC/outl.casl
+../../../../casl2 ../../../../as/misc/fib_outl.casl ../../../../as/casl2lib/outl.casl
0
1
1
--- /dev/null
+include ../CMD.mk # YACASL2DIR, CASL2
+LIBDIR = $(YACASL2DIR)/as/casl2lib
+ASDIR = $(YACASL2DIR)/as/misc
+ASFILE = $(ASDIR)/fib_outl.casl $(LIBDIR)/outl.casl
+CMD = $(CASL2) $(ASFILE)
+include ../TEST.mk
--- /dev/null
+MAIN START
+ OUT STRT,L1
+LOOP IN IOBUF,IOLEN
+ LD GR1,IOLEN
+ JZE FIN
+ OUT TYPD,L2
+ OUT IOBUF,IOLEN
+ OUT WHTNXT,L3
+ JUMP LOOP
+FIN RET
+;;; メッセージと長さ
+STRT DC 'LET''S START. TYPE IN'
+L1 DC 20
+TYPD DC 'YOU TYPED'
+L2 DC 9
+WHTNXT DC 'WHAT''S NEXT?'
+L3 DC 12
+;;; 入出力領域
+IOBUF DS 64
+IOLEN DS 1
+ END
IOTEST START
- OUT OBUF1,OLEN1
+ OUT OBUF1,OLEN1
LOOP IN IOBUF,IOLEN
- LD GR1,IOLEN
- JZE RETURN
- OUT OBUF2,OLEN2
- OUT IOBUF,IOLEN
- OUT OBUF3,OLEN3
- JUMP LOOP
-RETURN RET
+ LD GR1,IOLEN
+ JZE RETURN
+ OUT OBUF2,OLEN2
+ OUT IOBUF,IOLEN
+ OUT OBUF3,OLEN3
+ JUMP LOOP
+RETURN RET
; Memory
OBUF1 DC 'LET''S START. TYPE IN'
OLEN1 DC 20
OBUF3 DC 'WHAT''S NEXT?'
OLEN3 DC 12
IOBUF DS 64
-IOLEN DS 1
- END
+IOLEN DS 1
+ END
--- /dev/null
+;;; sum.casl
+;;; 入力 GR1: 1以上の正数
+;;; 出力 GR0: 1からGR1で指定された値までの正数をすべて加算した値。
+;;; オーバーフローした場合は、0
+SUM START
+ LAD GR0,0
+ LAD GR2,1
+LOOP CPL GR2,GR1
+ JPL FIN
+ ADDL GR0,GR2
+ JOV OV
+ LAD GR2,1,GR2
+ JUMP LOOP
+OV LAD GR0,0
+FIN RET
+ END
--- /dev/null
+../../../../casl2 -la ../../../../as/YAKUWA/binout.casl
+
+Assemble ../../../../as/YAKUWA/binout.casl (0)
+
+Label::::
+BINOUT.OBUF ---> #0060
+BINOUT.ZERO ---> #002D
+BINOUT.OUT1 ---> #0041
+BINOUT.OUT2 ---> #0047
+BINOUT.STORE ---> #0033
+MAIN.MLOOP ---> #0002
+BINOUT.NZERO ---> #0071
+BINOUT.LOOP1 ---> #0023
+BINOUT.LOOP2 ---> #002B
+MAIN.MFIN ---> #000E
+MAIN ---> #0000
+BINOUT.OLNG ---> #0070
+MAIN.MWORD ---> #000F
+MAIN.MLEN ---> #0013
+BINOUT ---> #0014
+BINOUT.ONE ---> #0031
+
+Assemble ../../../../as/YAKUWA/binout.casl (1)
+../../../../as/YAKUWA/binout.casl: 1:;;; BINOUT: 主プログラムから渡された1語の内容を、
+../../../../as/YAKUWA/binout.casl: 2:;;; ゼロ抑制を行った2進表記で出力する
+../../../../as/YAKUWA/binout.casl: 3:;;; 八鍬幸信『基本情報処理試験 らくらく突破 CASL II』172ページ
+../../../../as/YAKUWA/binout.casl: 4:;;; BINOUTを呼び出す
+../../../../as/YAKUWA/binout.casl: 5:MAIN START
+../../../../as/YAKUWA/binout.casl: 6: LAD GR2,0
+ #0000 #1220
+ #0001 #0000
+../../../../as/YAKUWA/binout.casl: 7:MLOOP CPA GR2,MLEN
+ #0002 #4020
+ #0003 #0013
+../../../../as/YAKUWA/binout.casl: 8: JZE MFIN
+ #0004 #6300
+ #0005 #000E
+../../../../as/YAKUWA/binout.casl: 9: LD GR1,MWORD,GR2
+ #0006 #1012
+ #0007 #000F
+../../../../as/YAKUWA/binout.casl: 10: CALL BINOUT
+ #0008 #8000
+ #0009 #0014
+../../../../as/YAKUWA/binout.casl: 11: LAD GR2,1,GR2
+ #000A #1222
+ #000B #0001
+../../../../as/YAKUWA/binout.casl: 12: JUMP MLOOP
+ #000C #6400
+ #000D #0002
+../../../../as/YAKUWA/binout.casl: 13:MFIN RET
+ #000E #8100
+../../../../as/YAKUWA/binout.casl: 14:MWORD DC #0000,#0001,#09CD,#8001
+ #000F #0000
+ #0010 #0001
+ #0011 #09CD
+ #0012 #8001
+../../../../as/YAKUWA/binout.casl: 15:MLEN DC 4
+ #0013 #0004
+../../../../as/YAKUWA/binout.casl: 16: END
+../../../../as/YAKUWA/binout.casl: 17:;;; BINOUT
+../../../../as/YAKUWA/binout.casl: 18:BINOUT START
+../../../../as/YAKUWA/binout.casl: 19: PUSH 0,GR1 ; レジスタの退避
+ #0014 #7001
+ #0015 #0000
+../../../../as/YAKUWA/binout.casl: 20: PUSH 0,GR2 ; ↓
+ #0016 #7002
+ #0017 #0000
+../../../../as/YAKUWA/binout.casl: 21: PUSH 0,GR3 ; ↓
+ #0018 #7003
+ #0019 #0000
+../../../../as/YAKUWA/binout.casl: 22: PUSH 0,GR4 ; ↓
+ #001A #7004
+ #001B #0000
+../../../../as/YAKUWA/binout.casl: 23: LAD GR2,0 ; 出力ポインタの初期化
+ #001C #1220
+ #001D #0000
+../../../../as/YAKUWA/binout.casl: 24: LAD GR3,15 ; カウンタの初期化
+ #001E #1230
+ #001F #000F
+../../../../as/YAKUWA/binout.casl: 25: LD GR4,GR1 ; 全ビット = 0?
+ #0020 #1441
+../../../../as/YAKUWA/binout.casl: 26: JZE OUT1
+ #0021 #6300
+ #0022 #0041
+../../../../as/YAKUWA/binout.casl: 27:LOOP1 JMI ONE ; 先行するビット処理
+ #0023 #6100
+ #0024 #0031
+../../../../as/YAKUWA/binout.casl: 28: LAD GR3,-1,GR3 ; ↓
+ #0025 #1233
+ #0026 #FFFF
+../../../../as/YAKUWA/binout.casl: 29: SLL GR1,1 ; ↓
+ #0027 #5210
+ #0028 #0001
+../../../../as/YAKUWA/binout.casl: 30: JUMP LOOP1
+ #0029 #6400
+ #002A #0023
+../../../../as/YAKUWA/binout.casl: 31:LOOP2 JMI ONE ; 符号ビットの判定
+ #002B #6100
+ #002C #0031
+../../../../as/YAKUWA/binout.casl: 32:ZERO LAD GR0,48 ; '0'→GR0
+ #002D #1200
+ #002E #0030
+../../../../as/YAKUWA/binout.casl: 33: JUMP STORE
+ #002F #6400
+ #0030 #0033
+../../../../as/YAKUWA/binout.casl: 34:ONE LAD GR0,49 ; '1'→GR1
+ #0031 #1200
+ #0032 #0031
+../../../../as/YAKUWA/binout.casl: 35:STORE ST GR0,OBUF,GR2
+ #0033 #1102
+ #0034 #0060
+../../../../as/YAKUWA/binout.casl: 36: LAD GR2,1,GR2
+ #0035 #1222
+ #0036 #0001
+../../../../as/YAKUWA/binout.casl: 37: LAD GR3,-1,GR3
+ #0037 #1233
+ #0038 #FFFF
+../../../../as/YAKUWA/binout.casl: 38: CPA GR3,NZERO
+ #0039 #4030
+ #003A #0071
+../../../../as/YAKUWA/binout.casl: 39: JMI OUT2 ; 全ビット終了?
+ #003B #6100
+ #003C #0047
+../../../../as/YAKUWA/binout.casl: 40: SLL GR1,1
+ #003D #5210
+ #003E #0001
+../../../../as/YAKUWA/binout.casl: 41: JUMP LOOP2
+ #003F #6400
+ #0040 #002B
+../../../../as/YAKUWA/binout.casl: 42:OUT1 LAD GR0,48
+ #0041 #1200
+ #0042 #0030
+../../../../as/YAKUWA/binout.casl: 43: ST GR0,OBUF,GR2
+ #0043 #1102
+ #0044 #0060
+../../../../as/YAKUWA/binout.casl: 44: LAD GR2,1,GR2
+ #0045 #1222
+ #0046 #0001
+../../../../as/YAKUWA/binout.casl: 45:OUT2 ST GR2,OLNG
+ #0047 #1120
+ #0048 #0070
+../../../../as/YAKUWA/binout.casl: 46: OUT OBUF,OLNG
+ #0049 #7001
+ #004A #0000
+ #004B #7002
+ #004C #0000
+ #004D #1210
+ #004E #0060
+ #004F #1220
+ #0050 #0070
+ #0051 #F000
+ #0052 #0002
+ #0053 #1210
+ #0054 #0072
+ #0072 #000A
+ #0055 #1220
+ #0056 #0073
+ #0073 #0001
+ #0057 #F000
+ #0058 #0002
+ #0059 #7120
+ #005A #7110
+../../../../as/YAKUWA/binout.casl: 47: POP GR4 ; レジスタの復元
+ #005B #7140
+../../../../as/YAKUWA/binout.casl: 48: POP GR3 ; ↓
+ #005C #7130
+../../../../as/YAKUWA/binout.casl: 49: POP GR2 ; ↓
+ #005D #7120
+../../../../as/YAKUWA/binout.casl: 50: POP GR1 ; ↓
+ #005E #7110
+../../../../as/YAKUWA/binout.casl: 51: RET
+ #005F #8100
+../../../../as/YAKUWA/binout.casl: 52:OBUF DS 16
+ #0060 #0000
+ #0061 #0000
+ #0062 #0000
+ #0063 #0000
+ #0064 #0000
+ #0065 #0000
+ #0066 #0000
+ #0067 #0000
+ #0068 #0000
+ #0069 #0000
+ #006A #0000
+ #006B #0000
+ #006C #0000
+ #006D #0000
+ #006E #0000
+ #006F #0000
+../../../../as/YAKUWA/binout.casl: 53:OLNG DS 1
+ #0070 #0000
+../../../../as/YAKUWA/binout.casl: 54:NZERO DC 0
+ #0071 #0000
+../../../../as/YAKUWA/binout.casl: 55: END
+0
+1
+100111001101
+1000000000000001
include ../CMD.mk # YACASL2DIR, CASL2
CASL2FLAG = -la
-ASDIR = $(YACASL2DIR)/as/YAKUWA
+ASDIR = $(YACASL2DIR)/as/yakuwa
ASFILE = $(ASDIR)/binout.casl
CMD = $(CASL2) $(CASL2FLAG) $(ASFILE)
include ../TEST.mk
--- /dev/null
+binout: Test Success 2010-02-07 18:16:32
--- /dev/null
+../../../../casl2 -sla ../../../../as/YAKUWA/floatedit.casl
+
+Assemble ../../../../as/YAKUWA/floatedit.casl (0)
+../../../../as/YAKUWA/floatedit.casl: 1:EDIT START
+../../../../as/YAKUWA/floatedit.casl: 2:RETRY IN INAREA,INLENG
+../../../../as/YAKUWA/floatedit.casl: 3: LAD GR1,0
+../../../../as/YAKUWA/floatedit.casl: 4: OR GR1,INLENG
+../../../../as/YAKUWA/floatedit.casl: 5: JZE FINISH
+../../../../as/YAKUWA/floatedit.casl: 6: CPA GR1,TEN
+../../../../as/YAKUWA/floatedit.casl: 7: JZE BEGIN
+../../../../as/YAKUWA/floatedit.casl: 8: OUT ERRMSG,MSGLNG
+../../../../as/YAKUWA/floatedit.casl: 9: JUMP RETRY
+../../../../as/YAKUWA/floatedit.casl: 10:BEGIN LAD GR0,1
+../../../../as/YAKUWA/floatedit.casl: 11: ST GR0,ZSFLAG
+../../../../as/YAKUWA/floatedit.casl: 12: LAD GR1,0
+../../../../as/YAKUWA/floatedit.casl: 13: LAD GR2,-1
+../../../../as/YAKUWA/floatedit.casl: 14: LAD GR3,0
+../../../../as/YAKUWA/floatedit.casl: 15:LOOP LD GR0,MASK,GR3
+../../../../as/YAKUWA/floatedit.casl: 16: PUSH 1,GR3
+../../../../as/YAKUWA/floatedit.casl: 17: LD GR3,INAREA,GR1
+../../../../as/YAKUWA/floatedit.casl: 18: LAD GR1,1,GR1
+../../../../as/YAKUWA/floatedit.casl: 19: CPL GR0,DIGIT0
+../../../../as/YAKUWA/floatedit.casl: 20: JZE ENDSPR
+../../../../as/YAKUWA/floatedit.casl: 21: CPL GR0,DIGIT9
+../../../../as/YAKUWA/floatedit.casl: 22: JNZ NONDGT
+../../../../as/YAKUWA/floatedit.casl: 23: CPL GR3,DIGIT0
+../../../../as/YAKUWA/floatedit.casl: 24: JNZ ENDSPR
+../../../../as/YAKUWA/floatedit.casl: 25: LAD GR0,0
+../../../../as/YAKUWA/floatedit.casl: 26: OR GR0,ZSFLAG
+../../../../as/YAKUWA/floatedit.casl: 27: JNZ SUPPRS
+../../../../as/YAKUWA/floatedit.casl: 28:ENDSPR LD GR0,OTAREA,GR2
+../../../../as/YAKUWA/floatedit.casl: 29: CPL GR0,SPACE
+../../../../as/YAKUWA/floatedit.casl: 30: JNZ NOT1ST
+../../../../as/YAKUWA/floatedit.casl: 31: LD GR0,MASK
+../../../../as/YAKUWA/floatedit.casl: 32: ST GR0,OTAREA,GR2
+../../../../as/YAKUWA/floatedit.casl: 33: LAD GR0,0
+../../../../as/YAKUWA/floatedit.casl: 34: ST GR0,ZSFLAG
+../../../../as/YAKUWA/floatedit.casl: 35:NOT1ST LAD GR0,0,GR3
+../../../../as/YAKUWA/floatedit.casl: 36: JUMP STORE
+../../../../as/YAKUWA/floatedit.casl: 37:NONDGT LAD GR1,-1,GR1
+../../../../as/YAKUWA/floatedit.casl: 38: LAD GR3,0
+../../../../as/YAKUWA/floatedit.casl: 39: OR GR3,ZSFLAG
+../../../../as/YAKUWA/floatedit.casl: 40: JZE STORE
+../../../../as/YAKUWA/floatedit.casl: 41:SUPPRS LD GR0,SPACE
+../../../../as/YAKUWA/floatedit.casl: 42:STORE LAD GR2,1,GR2
+../../../../as/YAKUWA/floatedit.casl: 43: ST GR0,OTAREA,GR2
+../../../../as/YAKUWA/floatedit.casl: 44: POP GR3
+../../../../as/YAKUWA/floatedit.casl: 45: CPA GR1,INLENG
+../../../../as/YAKUWA/floatedit.casl: 46: JNZ LOOP
+../../../../as/YAKUWA/floatedit.casl: 47: LAD GR2,1,GR2
+../../../../as/YAKUWA/floatedit.casl: 48: ST GR2,OTLENG
+../../../../as/YAKUWA/floatedit.casl: 49: OUT OTAREA,OTLENG
+../../../../as/YAKUWA/floatedit.casl: 50: JUMP RETRY
+../../../../as/YAKUWA/floatedit.casl: 51:FINISH RET
+../../../../as/YAKUWA/floatedit.casl: 52:MASK DC '\99,999,990.99'
+../../../../as/YAKUWA/floatedit.casl: 53:SPACE DC ' '
+../../../../as/YAKUWA/floatedit.casl: 54:DIGIT0 DC '0'
+../../../../as/YAKUWA/floatedit.casl: 55:DIGIT9 DC '9'
+../../../../as/YAKUWA/floatedit.casl: 56:TEN DC 10
+../../../../as/YAKUWA/floatedit.casl: 57:ERRMSG DC 'input error!'
+../../../../as/YAKUWA/floatedit.casl: 58:MSGLNG DC 12
+../../../../as/YAKUWA/floatedit.casl: 59:INAREA DS 80
+../../../../as/YAKUWA/floatedit.casl: 60:INLENG DS 1
+../../../../as/YAKUWA/floatedit.casl: 61:OTAREA DS 80
+../../../../as/YAKUWA/floatedit.casl: 62:OTLENG DS 1
+../../../../as/YAKUWA/floatedit.casl: 63:ZSFLAG DS 1
+../../../../as/YAKUWA/floatedit.casl: 64: END
+
+Label::::
+EDIT ---> #0000
+EDIT.SPACE ---> #009A
+EDIT.FINISH ---> #008B
+EDIT.INLENG ---> #00FB
+EDIT.SUPPRS ---> #0068
+EDIT.NOT1ST ---> #005C
+EDIT.DIGIT0 ---> #009B
+EDIT.DIGIT9 ---> #009C
+EDIT.OTAREA ---> #00FC
+EDIT.ENDSPR ---> #004E
+EDIT.ERRMSG ---> #009E
+EDIT.MSGLNG ---> #00AA
+EDIT.LOOP ---> #0034
+EDIT.ZSFLAG ---> #014D
+EDIT.TEN ---> #009D
+EDIT.INAREA ---> #00AB
+EDIT.RETRY ---> #0000
+EDIT.BEGIN ---> #002A
+EDIT.OTLENG ---> #014C
+EDIT.NONDGT ---> #0060
+EDIT.MASK ---> #008C
+EDIT.STORE ---> #006A
+
+Assemble ../../../../as/YAKUWA/floatedit.casl (1)
+../../../../as/YAKUWA/floatedit.casl: 1:EDIT START
+../../../../as/YAKUWA/floatedit.casl: 2:RETRY IN INAREA,INLENG
+ #0000 #7001
+ #0001 #0000
+ #0002 #7002
+ #0003 #0000
+ #0004 #1210
+ #0005 #00AB
+ #0006 #1220
+ #0007 #00FB
+ #0008 #F000
+ #0009 #0001
+ #000A #7120
+ #000B #7110
+../../../../as/YAKUWA/floatedit.casl: 3: LAD GR1,0
+ #000C #1210
+ #000D #0000
+../../../../as/YAKUWA/floatedit.casl: 4: OR GR1,INLENG
+ #000E #3110
+ #000F #00FB
+../../../../as/YAKUWA/floatedit.casl: 5: JZE FINISH
+ #0010 #6300
+ #0011 #008B
+../../../../as/YAKUWA/floatedit.casl: 6: CPA GR1,TEN
+ #0012 #4010
+ #0013 #009D
+../../../../as/YAKUWA/floatedit.casl: 7: JZE BEGIN
+ #0014 #6300
+ #0015 #002A
+../../../../as/YAKUWA/floatedit.casl: 8: OUT ERRMSG,MSGLNG
+ #0016 #7001
+ #0017 #0000
+ #0018 #7002
+ #0019 #0000
+ #001A #1210
+ #001B #009E
+ #001C #1220
+ #001D #00AA
+ #001E #F000
+ #001F #0002
+ #0020 #1210
+ #0021 #014E
+ #014E #000A
+ #0022 #1220
+ #0023 #014F
+ #014F #0001
+ #0024 #F000
+ #0025 #0002
+ #0026 #7120
+ #0027 #7110
+../../../../as/YAKUWA/floatedit.casl: 9: JUMP RETRY
+ #0028 #6400
+ #0029 #0000
+../../../../as/YAKUWA/floatedit.casl: 10:BEGIN LAD GR0,1
+ #002A #1200
+ #002B #0001
+../../../../as/YAKUWA/floatedit.casl: 11: ST GR0,ZSFLAG
+ #002C #1100
+ #002D #014D
+../../../../as/YAKUWA/floatedit.casl: 12: LAD GR1,0
+ #002E #1210
+ #002F #0000
+../../../../as/YAKUWA/floatedit.casl: 13: LAD GR2,-1
+ #0030 #1220
+ #0031 #FFFF
+../../../../as/YAKUWA/floatedit.casl: 14: LAD GR3,0
+ #0032 #1230
+ #0033 #0000
+../../../../as/YAKUWA/floatedit.casl: 15:LOOP LD GR0,MASK,GR3
+ #0034 #1003
+ #0035 #008C
+../../../../as/YAKUWA/floatedit.casl: 16: PUSH 1,GR3
+ #0036 #7003
+ #0037 #0001
+../../../../as/YAKUWA/floatedit.casl: 17: LD GR3,INAREA,GR1
+ #0038 #1031
+ #0039 #00AB
+../../../../as/YAKUWA/floatedit.casl: 18: LAD GR1,1,GR1
+ #003A #1211
+ #003B #0001
+../../../../as/YAKUWA/floatedit.casl: 19: CPL GR0,DIGIT0
+ #003C #4100
+ #003D #009B
+../../../../as/YAKUWA/floatedit.casl: 20: JZE ENDSPR
+ #003E #6300
+ #003F #004E
+../../../../as/YAKUWA/floatedit.casl: 21: CPL GR0,DIGIT9
+ #0040 #4100
+ #0041 #009C
+../../../../as/YAKUWA/floatedit.casl: 22: JNZ NONDGT
+ #0042 #6200
+ #0043 #0060
+../../../../as/YAKUWA/floatedit.casl: 23: CPL GR3,DIGIT0
+ #0044 #4130
+ #0045 #009B
+../../../../as/YAKUWA/floatedit.casl: 24: JNZ ENDSPR
+ #0046 #6200
+ #0047 #004E
+../../../../as/YAKUWA/floatedit.casl: 25: LAD GR0,0
+ #0048 #1200
+ #0049 #0000
+../../../../as/YAKUWA/floatedit.casl: 26: OR GR0,ZSFLAG
+ #004A #3100
+ #004B #014D
+../../../../as/YAKUWA/floatedit.casl: 27: JNZ SUPPRS
+ #004C #6200
+ #004D #0068
+../../../../as/YAKUWA/floatedit.casl: 28:ENDSPR LD GR0,OTAREA,GR2
+ #004E #1002
+ #004F #00FC
+../../../../as/YAKUWA/floatedit.casl: 29: CPL GR0,SPACE
+ #0050 #4100
+ #0051 #009A
+../../../../as/YAKUWA/floatedit.casl: 30: JNZ NOT1ST
+ #0052 #6200
+ #0053 #005C
+../../../../as/YAKUWA/floatedit.casl: 31: LD GR0,MASK
+ #0054 #1000
+ #0055 #008C
+../../../../as/YAKUWA/floatedit.casl: 32: ST GR0,OTAREA,GR2
+ #0056 #1102
+ #0057 #00FC
+../../../../as/YAKUWA/floatedit.casl: 33: LAD GR0,0
+ #0058 #1200
+ #0059 #0000
+../../../../as/YAKUWA/floatedit.casl: 34: ST GR0,ZSFLAG
+ #005A #1100
+ #005B #014D
+../../../../as/YAKUWA/floatedit.casl: 35:NOT1ST LAD GR0,0,GR3
+ #005C #1203
+ #005D #0000
+../../../../as/YAKUWA/floatedit.casl: 36: JUMP STORE
+ #005E #6400
+ #005F #006A
+../../../../as/YAKUWA/floatedit.casl: 37:NONDGT LAD GR1,-1,GR1
+ #0060 #1211
+ #0061 #FFFF
+../../../../as/YAKUWA/floatedit.casl: 38: LAD GR3,0
+ #0062 #1230
+ #0063 #0000
+../../../../as/YAKUWA/floatedit.casl: 39: OR GR3,ZSFLAG
+ #0064 #3130
+ #0065 #014D
+../../../../as/YAKUWA/floatedit.casl: 40: JZE STORE
+ #0066 #6300
+ #0067 #006A
+../../../../as/YAKUWA/floatedit.casl: 41:SUPPRS LD GR0,SPACE
+ #0068 #1000
+ #0069 #009A
+../../../../as/YAKUWA/floatedit.casl: 42:STORE LAD GR2,1,GR2
+ #006A #1222
+ #006B #0001
+../../../../as/YAKUWA/floatedit.casl: 43: ST GR0,OTAREA,GR2
+ #006C #1102
+ #006D #00FC
+../../../../as/YAKUWA/floatedit.casl: 44: POP GR3
+ #006E #7130
+../../../../as/YAKUWA/floatedit.casl: 45: CPA GR1,INLENG
+ #006F #4010
+ #0070 #00FB
+../../../../as/YAKUWA/floatedit.casl: 46: JNZ LOOP
+ #0071 #6200
+ #0072 #0034
+../../../../as/YAKUWA/floatedit.casl: 47: LAD GR2,1,GR2
+ #0073 #1222
+ #0074 #0001
+../../../../as/YAKUWA/floatedit.casl: 48: ST GR2,OTLENG
+ #0075 #1120
+ #0076 #014C
+../../../../as/YAKUWA/floatedit.casl: 49: OUT OTAREA,OTLENG
+ #0077 #7001
+ #0078 #0000
+ #0079 #7002
+ #007A #0000
+ #007B #1210
+ #007C #00FC
+ #007D #1220
+ #007E #014C
+ #007F #F000
+ #0080 #0002
+ #0081 #1210
+ #0082 #0150
+ #0150 #000A
+ #0083 #1220
+ #0084 #0151
+ #0151 #0001
+ #0085 #F000
+ #0086 #0002
+ #0087 #7120
+ #0088 #7110
+../../../../as/YAKUWA/floatedit.casl: 50: JUMP RETRY
+ #0089 #6400
+ #008A #0000
+../../../../as/YAKUWA/floatedit.casl: 51:FINISH RET
+ #008B #8100
+../../../../as/YAKUWA/floatedit.casl: 52:MASK DC '\99,999,990.99'
+ #008C #005C
+ #008D #0039
+ #008E #0039
+ #008F #002C
+ #0090 #0039
+ #0091 #0039
+ #0092 #0039
+ #0093 #002C
+ #0094 #0039
+ #0095 #0039
+ #0096 #0030
+ #0097 #002E
+ #0098 #0039
+ #0099 #0039
+../../../../as/YAKUWA/floatedit.casl: 53:SPACE DC ' '
+ #009A #0020
+../../../../as/YAKUWA/floatedit.casl: 54:DIGIT0 DC '0'
+ #009B #0030
+../../../../as/YAKUWA/floatedit.casl: 55:DIGIT9 DC '9'
+ #009C #0039
+../../../../as/YAKUWA/floatedit.casl: 56:TEN DC 10
+ #009D #000A
+../../../../as/YAKUWA/floatedit.casl: 57:ERRMSG DC 'input error!'
+ #009E #0069
+ #009F #006E
+ #00A0 #0070
+ #00A1 #0075
+ #00A2 #0074
+ #00A3 #0020
+ #00A4 #0065
+ #00A5 #0072
+ #00A6 #0072
+ #00A7 #006F
+ #00A8 #0072
+ #00A9 #0021
+../../../../as/YAKUWA/floatedit.casl: 58:MSGLNG DC 12
+ #00AA #000C
+../../../../as/YAKUWA/floatedit.casl: 59:INAREA DS 80
+ #00AB #0000
+ #00AC #0000
+ #00AD #0000
+ #00AE #0000
+ #00AF #0000
+ #00B0 #0000
+ #00B1 #0000
+ #00B2 #0000
+ #00B3 #0000
+ #00B4 #0000
+ #00B5 #0000
+ #00B6 #0000
+ #00B7 #0000
+ #00B8 #0000
+ #00B9 #0000
+ #00BA #0000
+ #00BB #0000
+ #00BC #0000
+ #00BD #0000
+ #00BE #0000
+ #00BF #0000
+ #00C0 #0000
+ #00C1 #0000
+ #00C2 #0000
+ #00C3 #0000
+ #00C4 #0000
+ #00C5 #0000
+ #00C6 #0000
+ #00C7 #0000
+ #00C8 #0000
+ #00C9 #0000
+ #00CA #0000
+ #00CB #0000
+ #00CC #0000
+ #00CD #0000
+ #00CE #0000
+ #00CF #0000
+ #00D0 #0000
+ #00D1 #0000
+ #00D2 #0000
+ #00D3 #0000
+ #00D4 #0000
+ #00D5 #0000
+ #00D6 #0000
+ #00D7 #0000
+ #00D8 #0000
+ #00D9 #0000
+ #00DA #0000
+ #00DB #0000
+ #00DC #0000
+ #00DD #0000
+ #00DE #0000
+ #00DF #0000
+ #00E0 #0000
+ #00E1 #0000
+ #00E2 #0000
+ #00E3 #0000
+ #00E4 #0000
+ #00E5 #0000
+ #00E6 #0000
+ #00E7 #0000
+ #00E8 #0000
+ #00E9 #0000
+ #00EA #0000
+ #00EB #0000
+ #00EC #0000
+ #00ED #0000
+ #00EE #0000
+ #00EF #0000
+ #00F0 #0000
+ #00F1 #0000
+ #00F2 #0000
+ #00F3 #0000
+ #00F4 #0000
+ #00F5 #0000
+ #00F6 #0000
+ #00F7 #0000
+ #00F8 #0000
+ #00F9 #0000
+ #00FA #0000
+../../../../as/YAKUWA/floatedit.casl: 60:INLENG DS 1
+ #00FB #0000
+../../../../as/YAKUWA/floatedit.casl: 61:OTAREA DS 80
+ #00FC #0000
+ #00FD #0000
+ #00FE #0000
+ #00FF #0000
+ #0100 #0000
+ #0101 #0000
+ #0102 #0000
+ #0103 #0000
+ #0104 #0000
+ #0105 #0000
+ #0106 #0000
+ #0107 #0000
+ #0108 #0000
+ #0109 #0000
+ #010A #0000
+ #010B #0000
+ #010C #0000
+ #010D #0000
+ #010E #0000
+ #010F #0000
+ #0110 #0000
+ #0111 #0000
+ #0112 #0000
+ #0113 #0000
+ #0114 #0000
+ #0115 #0000
+ #0116 #0000
+ #0117 #0000
+ #0118 #0000
+ #0119 #0000
+ #011A #0000
+ #011B #0000
+ #011C #0000
+ #011D #0000
+ #011E #0000
+ #011F #0000
+ #0120 #0000
+ #0121 #0000
+ #0122 #0000
+ #0123 #0000
+ #0124 #0000
+ #0125 #0000
+ #0126 #0000
+ #0127 #0000
+ #0128 #0000
+ #0129 #0000
+ #012A #0000
+ #012B #0000
+ #012C #0000
+ #012D #0000
+ #012E #0000
+ #012F #0000
+ #0130 #0000
+ #0131 #0000
+ #0132 #0000
+ #0133 #0000
+ #0134 #0000
+ #0135 #0000
+ #0136 #0000
+ #0137 #0000
+ #0138 #0000
+ #0139 #0000
+ #013A #0000
+ #013B #0000
+ #013C #0000
+ #013D #0000
+ #013E #0000
+ #013F #0000
+ #0140 #0000
+ #0141 #0000
+ #0142 #0000
+ #0143 #0000
+ #0144 #0000
+ #0145 #0000
+ #0146 #0000
+ #0147 #0000
+ #0148 #0000
+ #0149 #0000
+ #014A #0000
+ #014B #0000
+../../../../as/YAKUWA/floatedit.casl: 62:OTLENG DS 1
+ #014C #0000
+../../../../as/YAKUWA/floatedit.casl: 63:ZSFLAG DS 1
+ #014D #0000
+../../../../as/YAKUWA/floatedit.casl: 64: END
+input error!
+input error!
+input error!
+\12,345,678.90
+\12,345,678.09
+ \2,234,568.19
+ \2,234,068.19
+ \0.01
--- /dev/null
+floatedit: Test Success 2010-02-07 18:16:38
return status;
}
-void printline(FILE *stream, const char *filename, int lineno, char *line) {
- fprintf(stream, "%s:%5d:%s", filename, lineno, line);
-}
-
/* 指定された名前のファイルをアセンブル */
/* 2回実行される */
bool assemble(const char *file, PASS pass)
if((pass == FIRST && (&asmode)->src == true) ||
(pass == SECOND && (&asmode)->asdetail == true))
{
- printline(stdout, file, lineno, line);
+ fprintf(stdout, "%s:%5d:%s", file, lineno, line);
}
if((cmdl = linetok(line)) != NULL) {
if(pass == FIRST && cmdl->label != NULL) {
}
}
if(cerrno > 0) {
- fprintf(stderr, "Assemble error - %d: %s\n", cerrno, cerrmsg);
- printline(stderr, file, lineno, line);
+ fprintf(stderr, "Assemble error - %d: %s\n %s:%d: %s\n", cerrno, cerrmsg, file, lineno, line);
status = false;
}
fclose(fp);
{
OPD *opd = malloc(sizeof(OPD));
char *p, *q, *sepp;
- int sepc = ',', qcnt = 0;
+ int sepc = ',', len = 0;
bool quoting = false;
opd->opdc = 0;
}
/* 「'」の分、文字列の長さを小さくする */
if(*(q+1) != '\'') {
- qcnt++;
+ len--;
}
}
if(quoting == true) {
setcerr(121, NULL); /* cannot get operand token */
break;
}
- if(strlen(p) - qcnt > OPDSIZE) {
+ len += strlen(p);
+ if(len > OPDSIZE) {
setcerr(118, NULL); /* operand length is too long */
break;
}
opd->opdv[(++opd->opdc)-1] = strdup(p);
p = q = sepp + 1;
- qcnt = 0;
}
} while(sepc == ',');
return opd;
+++ /dev/null
-include ../CMD.mk # YACASL2DIR, CASL2
-ASDIR = $(YACASL2DIR)/as/FUNC
-ASFILE = $(ASDIR)/abs_call.casl $(ASDIR)/abs.casl $(ASDIR)/outa_main.casl $(ASDIR)/divl1.casl $(ASDIR)/rev.casl
-CMD = $(CASL2) $(ASFILE)
-include ../TEST.mk
--- /dev/null
+../../../../casl2 ../../../../as/cmd/OUT/out1.casl
+0 1
+
+ !"#$%&'()*+,-./0123456789:;<=>?
+@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_
+`abcdefghijklmnopqrstuvwxyz{|}~
include ../CMD.mk # YACASL2DIR, CASL2
-ASDIR = $(YACASL2DIR)/as/FUNC
-ASFILE = $(ASDIR)/fib_outl.casl $(ASDIR)/outl.casl
+ASDIR = $(YACASL2DIR)/as/cmd/OUT
+ASFILE = $(ASDIR)/out1.casl
CMD = $(CASL2) $(ASFILE)
include ../TEST.mk
+++ /dev/null
-include ../CMD.mk # YACASL2DIR, CASL2
-ASDIR = $(YACASL2DIR)/as/FUNC
-ASFILE = $(ASDIR)/divl_call.casl $(ASDIR)/divl1.casl $(ASDIR)/outl_main.casl $(ASDIR)/rev.casl
-CMD = $(CASL2) $(ASFILE)
-include ../TEST.mk
--- /dev/null
+../../../../casl2 -slatd ../../../../as/err/ds_err.casl
+
+Assemble ../../../../as/err/ds_err.casl (0)
+../../../../as/err/ds_err.casl: 1:MAIN START
+../../../../as/err/ds_err.casl: 2: LAD GR0,=10
+../../../../as/err/ds_err.casl: 3: ST GR0,A
+../../../../as/err/ds_err.casl: 4:A DS
+Assemble error - 106: operand count mismatch
+ ../../../../as/err/ds_err.casl:4: A DS
+
include ../CMD.mk # YACASL2DIR, CASL2
CASL2FLAG = -slatd
-ASDIR = $(YACASL2DIR)/as/ERR
+ASDIR = $(YACASL2DIR)/as/err
ASFILE = $(ASDIR)/ds_err.casl
-CMD = $(CASL2) $(CASL2FLAG) $(ASFILE) $(IN)
+CMD = $(CASL2) $(CASL2FLAG) $(ASFILE)
include ../TEST.mk
-../../../../casl2 -sla ../../../../as/FUNC/hanoi.casl
+../../../../casl2 -sla ../../../../as/misc/hanoi.casl
-Assemble ../../../../as/FUNC/hanoi.casl (0)
-../../../../as/FUNC/hanoi.casl: 1:; ハノイの塔を解くプログラム
-../../../../as/FUNC/hanoi.casl: 2:MAIN START
-../../../../as/FUNC/hanoi.casl: 3: LD GR0,N
-../../../../as/FUNC/hanoi.casl: 4: LD GR1,A
-../../../../as/FUNC/hanoi.casl: 5: LD GR2,B
-../../../../as/FUNC/hanoi.casl: 6: LD GR3,C
-../../../../as/FUNC/hanoi.casl: 7: CALL HANOI
-../../../../as/FUNC/hanoi.casl: 8: RET
-../../../../as/FUNC/hanoi.casl: 9:HANOI CPA GR0,=1
-../../../../as/FUNC/hanoi.casl: 10: JZE DISP
-../../../../as/FUNC/hanoi.casl: 11: SUBA GR0,=1
-../../../../as/FUNC/hanoi.casl: 12: PUSH 0,GR2
-../../../../as/FUNC/hanoi.casl: 13: PUSH 0,GR3
-../../../../as/FUNC/hanoi.casl: 14: POP GR2
-../../../../as/FUNC/hanoi.casl: 15: POP GR3
-../../../../as/FUNC/hanoi.casl: 16: CALL HANOI
-../../../../as/FUNC/hanoi.casl: 17: PUSH 0,GR2
-../../../../as/FUNC/hanoi.casl: 18: PUSH 0,GR3
-../../../../as/FUNC/hanoi.casl: 19: POP GR2
-../../../../as/FUNC/hanoi.casl: 20: POP GR3
-../../../../as/FUNC/hanoi.casl: 21: CALL DISP
-../../../../as/FUNC/hanoi.casl: 22: PUSH 0,GR1
-../../../../as/FUNC/hanoi.casl: 23: PUSH 0,GR2
-../../../../as/FUNC/hanoi.casl: 24: POP GR1
-../../../../as/FUNC/hanoi.casl: 25: POP GR2
-../../../../as/FUNC/hanoi.casl: 26: CALL HANOI
-../../../../as/FUNC/hanoi.casl: 27: PUSH 0,GR1
-../../../../as/FUNC/hanoi.casl: 28: PUSH 0,GR2
-../../../../as/FUNC/hanoi.casl: 29: POP GR1
-../../../../as/FUNC/hanoi.casl: 30: POP GR2
-../../../../as/FUNC/hanoi.casl: 31: ADDA GR0,=1
-../../../../as/FUNC/hanoi.casl: 32: RET
-../../../../as/FUNC/hanoi.casl: 33:DISP ST GR1,MSG1
-../../../../as/FUNC/hanoi.casl: 34: ST GR3,MSG2
-../../../../as/FUNC/hanoi.casl: 35: OUT MSG,LNG
-../../../../as/FUNC/hanoi.casl: 36: RET
-../../../../as/FUNC/hanoi.casl: 37:N DC 3 ; 輪の総数
-../../../../as/FUNC/hanoi.casl: 38:LNG DC 11 ; メッセージの長さ
-../../../../as/FUNC/hanoi.casl: 39:A DC 'A'
-../../../../as/FUNC/hanoi.casl: 40:B DC 'B'
-../../../../as/FUNC/hanoi.casl: 41:C DC 'C'
-../../../../as/FUNC/hanoi.casl: 42:MSG DC 'from '
-../../../../as/FUNC/hanoi.casl: 43:MSG1 DS 1
-../../../../as/FUNC/hanoi.casl: 44: DC ' to '
-../../../../as/FUNC/hanoi.casl: 45:MSG2 DS 1
-../../../../as/FUNC/hanoi.casl: 46: END
+Assemble ../../../../as/misc/hanoi.casl (0)
+../../../../as/misc/hanoi.casl: 1:; ハノイの塔を解くプログラム
+../../../../as/misc/hanoi.casl: 2:MAIN START
+../../../../as/misc/hanoi.casl: 3: LD GR0,N
+../../../../as/misc/hanoi.casl: 4: LD GR1,A
+../../../../as/misc/hanoi.casl: 5: LD GR2,B
+../../../../as/misc/hanoi.casl: 6: LD GR3,C
+../../../../as/misc/hanoi.casl: 7: CALL HANOI
+../../../../as/misc/hanoi.casl: 8: RET
+../../../../as/misc/hanoi.casl: 9:HANOI CPA GR0,=1
+../../../../as/misc/hanoi.casl: 10: JZE DISP
+../../../../as/misc/hanoi.casl: 11: SUBA GR0,=1
+../../../../as/misc/hanoi.casl: 12: PUSH 0,GR2
+../../../../as/misc/hanoi.casl: 13: PUSH 0,GR3
+../../../../as/misc/hanoi.casl: 14: POP GR2
+../../../../as/misc/hanoi.casl: 15: POP GR3
+../../../../as/misc/hanoi.casl: 16: CALL HANOI
+../../../../as/misc/hanoi.casl: 17: PUSH 0,GR2
+../../../../as/misc/hanoi.casl: 18: PUSH 0,GR3
+../../../../as/misc/hanoi.casl: 19: POP GR2
+../../../../as/misc/hanoi.casl: 20: POP GR3
+../../../../as/misc/hanoi.casl: 21: CALL DISP
+../../../../as/misc/hanoi.casl: 22: PUSH 0,GR1
+../../../../as/misc/hanoi.casl: 23: PUSH 0,GR2
+../../../../as/misc/hanoi.casl: 24: POP GR1
+../../../../as/misc/hanoi.casl: 25: POP GR2
+../../../../as/misc/hanoi.casl: 26: CALL HANOI
+../../../../as/misc/hanoi.casl: 27: PUSH 0,GR1
+../../../../as/misc/hanoi.casl: 28: PUSH 0,GR2
+../../../../as/misc/hanoi.casl: 29: POP GR1
+../../../../as/misc/hanoi.casl: 30: POP GR2
+../../../../as/misc/hanoi.casl: 31: ADDA GR0,=1
+../../../../as/misc/hanoi.casl: 32: RET
+../../../../as/misc/hanoi.casl: 33:DISP ST GR1,MSG1
+../../../../as/misc/hanoi.casl: 34: ST GR3,MSG2
+../../../../as/misc/hanoi.casl: 35: OUT MSG,LNG
+../../../../as/misc/hanoi.casl: 36: RET
+../../../../as/misc/hanoi.casl: 37:N DC 3 ; 輪の総数
+../../../../as/misc/hanoi.casl: 38:LNG DC 11 ; メッセージの長さ
+../../../../as/misc/hanoi.casl: 39:A DC 'A'
+../../../../as/misc/hanoi.casl: 40:B DC 'B'
+../../../../as/misc/hanoi.casl: 41:C DC 'C'
+../../../../as/misc/hanoi.casl: 42:MSG DC 'from '
+../../../../as/misc/hanoi.casl: 43:MSG1 DS 1
+../../../../as/misc/hanoi.casl: 44: DC ' to '
+../../../../as/misc/hanoi.casl: 45:MSG2 DS 1
+../../../../as/misc/hanoi.casl: 46: END
Label::::
MAIN.MSG ---> #004E
MAIN.DISP ---> #0032
MAIN.HANOI ---> #000B
-Assemble ../../../../as/FUNC/hanoi.casl (1)
-../../../../as/FUNC/hanoi.casl: 1:; ハノイの塔を解くプログラム
-../../../../as/FUNC/hanoi.casl: 2:MAIN START
-../../../../as/FUNC/hanoi.casl: 3: LD GR0,N
+Assemble ../../../../as/misc/hanoi.casl (1)
+../../../../as/misc/hanoi.casl: 1:; ハノイの塔を解くプログラム
+../../../../as/misc/hanoi.casl: 2:MAIN START
+../../../../as/misc/hanoi.casl: 3: LD GR0,N
#0000 #1000
#0001 #0049
-../../../../as/FUNC/hanoi.casl: 4: LD GR1,A
+../../../../as/misc/hanoi.casl: 4: LD GR1,A
#0002 #1010
#0003 #004B
-../../../../as/FUNC/hanoi.casl: 5: LD GR2,B
+../../../../as/misc/hanoi.casl: 5: LD GR2,B
#0004 #1020
#0005 #004C
-../../../../as/FUNC/hanoi.casl: 6: LD GR3,C
+../../../../as/misc/hanoi.casl: 6: LD GR3,C
#0006 #1030
#0007 #004D
-../../../../as/FUNC/hanoi.casl: 7: CALL HANOI
+../../../../as/misc/hanoi.casl: 7: CALL HANOI
#0008 #8000
#0009 #000B
-../../../../as/FUNC/hanoi.casl: 8: RET
+../../../../as/misc/hanoi.casl: 8: RET
#000A #8100
-../../../../as/FUNC/hanoi.casl: 9:HANOI CPA GR0,=1
+../../../../as/misc/hanoi.casl: 9:HANOI CPA GR0,=1
#0059 #0001
#000B #4000
#000C #0059
-../../../../as/FUNC/hanoi.casl: 10: JZE DISP
+../../../../as/misc/hanoi.casl: 10: JZE DISP
#000D #6300
#000E #0032
-../../../../as/FUNC/hanoi.casl: 11: SUBA GR0,=1
+../../../../as/misc/hanoi.casl: 11: SUBA GR0,=1
#005A #0001
#000F #2100
#0010 #005A
-../../../../as/FUNC/hanoi.casl: 12: PUSH 0,GR2
+../../../../as/misc/hanoi.casl: 12: PUSH 0,GR2
#0011 #7002
#0012 #0000
-../../../../as/FUNC/hanoi.casl: 13: PUSH 0,GR3
+../../../../as/misc/hanoi.casl: 13: PUSH 0,GR3
#0013 #7003
#0014 #0000
-../../../../as/FUNC/hanoi.casl: 14: POP GR2
+../../../../as/misc/hanoi.casl: 14: POP GR2
#0015 #7120
-../../../../as/FUNC/hanoi.casl: 15: POP GR3
+../../../../as/misc/hanoi.casl: 15: POP GR3
#0016 #7130
-../../../../as/FUNC/hanoi.casl: 16: CALL HANOI
+../../../../as/misc/hanoi.casl: 16: CALL HANOI
#0017 #8000
#0018 #000B
-../../../../as/FUNC/hanoi.casl: 17: PUSH 0,GR2
+../../../../as/misc/hanoi.casl: 17: PUSH 0,GR2
#0019 #7002
#001A #0000
-../../../../as/FUNC/hanoi.casl: 18: PUSH 0,GR3
+../../../../as/misc/hanoi.casl: 18: PUSH 0,GR3
#001B #7003
#001C #0000
-../../../../as/FUNC/hanoi.casl: 19: POP GR2
+../../../../as/misc/hanoi.casl: 19: POP GR2
#001D #7120
-../../../../as/FUNC/hanoi.casl: 20: POP GR3
+../../../../as/misc/hanoi.casl: 20: POP GR3
#001E #7130
-../../../../as/FUNC/hanoi.casl: 21: CALL DISP
+../../../../as/misc/hanoi.casl: 21: CALL DISP
#001F #8000
#0020 #0032
-../../../../as/FUNC/hanoi.casl: 22: PUSH 0,GR1
+../../../../as/misc/hanoi.casl: 22: PUSH 0,GR1
#0021 #7001
#0022 #0000
-../../../../as/FUNC/hanoi.casl: 23: PUSH 0,GR2
+../../../../as/misc/hanoi.casl: 23: PUSH 0,GR2
#0023 #7002
#0024 #0000
-../../../../as/FUNC/hanoi.casl: 24: POP GR1
+../../../../as/misc/hanoi.casl: 24: POP GR1
#0025 #7110
-../../../../as/FUNC/hanoi.casl: 25: POP GR2
+../../../../as/misc/hanoi.casl: 25: POP GR2
#0026 #7120
-../../../../as/FUNC/hanoi.casl: 26: CALL HANOI
+../../../../as/misc/hanoi.casl: 26: CALL HANOI
#0027 #8000
#0028 #000B
-../../../../as/FUNC/hanoi.casl: 27: PUSH 0,GR1
+../../../../as/misc/hanoi.casl: 27: PUSH 0,GR1
#0029 #7001
#002A #0000
-../../../../as/FUNC/hanoi.casl: 28: PUSH 0,GR2
+../../../../as/misc/hanoi.casl: 28: PUSH 0,GR2
#002B #7002
#002C #0000
-../../../../as/FUNC/hanoi.casl: 29: POP GR1
+../../../../as/misc/hanoi.casl: 29: POP GR1
#002D #7110
-../../../../as/FUNC/hanoi.casl: 30: POP GR2
+../../../../as/misc/hanoi.casl: 30: POP GR2
#002E #7120
-../../../../as/FUNC/hanoi.casl: 31: ADDA GR0,=1
+../../../../as/misc/hanoi.casl: 31: ADDA GR0,=1
#005B #0001
#002F #2000
#0030 #005B
-../../../../as/FUNC/hanoi.casl: 32: RET
+../../../../as/misc/hanoi.casl: 32: RET
#0031 #8100
-../../../../as/FUNC/hanoi.casl: 33:DISP ST GR1,MSG1
+../../../../as/misc/hanoi.casl: 33:DISP ST GR1,MSG1
#0032 #1110
#0033 #0053
-../../../../as/FUNC/hanoi.casl: 34: ST GR3,MSG2
+../../../../as/misc/hanoi.casl: 34: ST GR3,MSG2
#0034 #1130
#0035 #0058
-../../../../as/FUNC/hanoi.casl: 35: OUT MSG,LNG
+../../../../as/misc/hanoi.casl: 35: OUT MSG,LNG
#0036 #7001
#0037 #0000
#0038 #7002
#0045 #0002
#0046 #7120
#0047 #7110
-../../../../as/FUNC/hanoi.casl: 36: RET
+../../../../as/misc/hanoi.casl: 36: RET
#0048 #8100
-../../../../as/FUNC/hanoi.casl: 37:N DC 3 ; 輪の総数
+../../../../as/misc/hanoi.casl: 37:N DC 3 ; 輪の総数
#0049 #0003
-../../../../as/FUNC/hanoi.casl: 38:LNG DC 11 ; メッセージの長さ
+../../../../as/misc/hanoi.casl: 38:LNG DC 11 ; メッセージの長さ
#004A #000B
-../../../../as/FUNC/hanoi.casl: 39:A DC 'A'
+../../../../as/misc/hanoi.casl: 39:A DC 'A'
#004B #0041
-../../../../as/FUNC/hanoi.casl: 40:B DC 'B'
+../../../../as/misc/hanoi.casl: 40:B DC 'B'
#004C #0042
-../../../../as/FUNC/hanoi.casl: 41:C DC 'C'
+../../../../as/misc/hanoi.casl: 41:C DC 'C'
#004D #0043
-../../../../as/FUNC/hanoi.casl: 42:MSG DC 'from '
+../../../../as/misc/hanoi.casl: 42:MSG DC 'from '
#004E #0066
#004F #0072
#0050 #006F
#0051 #006D
#0052 #0020
-../../../../as/FUNC/hanoi.casl: 43:MSG1 DS 1
+../../../../as/misc/hanoi.casl: 43:MSG1 DS 1
#0053 #0000
-../../../../as/FUNC/hanoi.casl: 44: DC ' to '
+../../../../as/misc/hanoi.casl: 44: DC ' to '
#0054 #0020
#0055 #0074
#0056 #006F
#0057 #0020
-../../../../as/FUNC/hanoi.casl: 45:MSG2 DS 1
+../../../../as/misc/hanoi.casl: 45:MSG2 DS 1
#0058 #0000
-../../../../as/FUNC/hanoi.casl: 46: END
+../../../../as/misc/hanoi.casl: 46: END
from A to C
from A to B
from C to B
include ../CMD.mk # YACASL2DIR, CASL2
CASL2FLAG = -sla
-ASDIR = $(YACASL2DIR)/as/FUNC
+ASDIR = $(YACASL2DIR)/as/misc
ASFILE = $(ASDIR)/hanoi.casl
-CMD = $(CASL2) $(CASL2FLAG) $(ASFILE) $(IN)
+CMD = $(CASL2) $(CASL2FLAG) $(ASFILE)
include ../TEST.mk
../../../../casl2 -sla ../../../../as/hello.casl
Assemble ../../../../as/hello.casl (0)
-../../../../as/hello.casl: 1:MAIN START
-../../../../as/hello.casl: 2: OUT BUF,LEN
-../../../../as/hello.casl: 3: RET
-../../../../as/hello.casl: 4:BUF DC 'Hello, World!'
-../../../../as/hello.casl: 5:LEN DC 13
-../../../../as/hello.casl: 6: END
+../../../../as/hello.casl: 1:MAIN START
+../../../../as/hello.casl: 2: OUT OBUF,LEN
+../../../../as/hello.casl: 3: RET
+../../../../as/hello.casl: 4:OBUF DC 'Hello, World!'
+../../../../as/hello.casl: 5:LEN DC 13
+../../../../as/hello.casl: 6: END
Label::::
MAIN.LEN ---> #0020
MAIN ---> #0000
-MAIN.BUF ---> #0013
+MAIN.OBUF ---> #0013
Assemble ../../../../as/hello.casl (1)
-../../../../as/hello.casl: 1:MAIN START
-../../../../as/hello.casl: 2: OUT BUF,LEN
+../../../../as/hello.casl: 1:MAIN START
+../../../../as/hello.casl: 2: OUT OBUF,LEN
#0000 #7001
#0001 #0000
#0002 #7002
#000F #0002
#0010 #7120
#0011 #7110
-../../../../as/hello.casl: 3: RET
+../../../../as/hello.casl: 3: RET
#0012 #8100
-../../../../as/hello.casl: 4:BUF DC 'Hello, World!'
+../../../../as/hello.casl: 4:OBUF DC 'Hello, World!'
#0013 #0048
#0014 #0065
#0015 #006C
#001D #006C
#001E #0064
#001F #0021
-../../../../as/hello.casl: 5:LEN DC 13
+../../../../as/hello.casl: 5:LEN DC 13
#0020 #000D
-../../../../as/hello.casl: 6: END
+../../../../as/hello.casl: 6: END
Hello, World!
include ../CMD.mk # YACASL2DIR, CASL2
-CASL2FLAG = -sla
ASDIR = $(YACASL2DIR)/as/FUNC
ASFILE = $(ASDIR)/iotest.casl
-IN = <teststr.txt
-CMD = $(CASL2) $(CASL2FLAG) $(ASFILE) $(IN)
+IN = teststr.txt
+CMD = $(CASL2) $(ASFILE) <$(IN)
include ../TEST.mk
--- /dev/null
+include ../CMD.mk # YACASL2DIR, CASL2
+ASDIR = $(YACASL2DIR)/as/casl2lib_driver
+LIBDIR = $(YACASL2DIR)/as/casl2lib
+ASFILE = $(ASDIR)/abs_call.casl $(LIBDIR)/abs.casl $(LIBDIR)/outa.casl
+CMD = $(CASL2) $(ASFILE)
+include ../TEST.mk
--- /dev/null
+include ../CMD.mk # YACASL2DIR, CASL2
+LIBDIR = $(YACASL2DIR)/as/casl2lib
+ASDIR = $(YACASL2DIR)/as/casl2lib_test
+ASFILE = $(ASDIR)/divl_call.casl $(LIBDIR)/divl.casl $(LIBDIR)/outl_main.casl $(LIBDIR)/rev.casl
+CMD = $(CASL2) $(ASFILE)
+include ../TEST.mk
--- /dev/null
+../../../../casl2 ../../../../as/casl2lib_driver/inl.casl ../../../../as/casl2lib/inl.casl ../../../../as/casl2lib/outl.casl
+0
+1
+2
+10
+12
+32767
+32768
+65535
+0
+18000
+Not A Number
+Not A Number
+Not A Number
+g
--- /dev/null
+include ../CMD.mk # YACASL2DIR, CASL2
+LIBDIR = $(YACASL2DIR)/as/casl2lib
+ASDIR = $(YACASL2DIR)/as/casl2lib_driver
+ASFILE = $(ASDIR)/inl.casl $(LIBDIR)/inl.casl $(LIBDIR)/outl.casl
+IN = teststr.txt
+CMD = $(CASL2) $(ASFILE) <$(IN)
+include ../TEST.mk
--- /dev/null
+0
+1
+2
+10
+12
+32767
+32768
+65535
+65536
+90000
+100000
+-1
+NOTNUMBER
+
include ../CMD.mk # YACASL2DIR, CASL2
-ASDIR = $(YACASL2DIR)/as/FUNC
-ASFILE = $(ASDIR)/minim_call.casl $(ASDIR)/minim.casl $(ASDIR)/outa.casl
+ASDIR = $(YACASL2DIR)/as/casl2lib_test
+LIBDIR = $(YACASL2DIR)/as/casl2lib
+ASFILE = $(ASDIR)/minim_call.casl $(LIBDIR)/minim.casl $(LIBDIR)/outa.casl
CMD = $(CASL2) $(ASFILE)
include ../TEST.mk
../../../../as/CMD/svc2_out.casl: 3: PUSH 0,GR1
../../../../as/CMD/svc2_out.casl: 4: PUSH 0,GR2
../../../../as/CMD/svc2_out.casl: 5: LAD GR1,OBUF
-../../../../as/CMD/svc2_out.casl: 6: LAD GR2,LEN
+../../../../as/CMD/svc2_out.casl: 6: LD GR2,LEN
../../../../as/CMD/svc2_out.casl: 7: SVC 2
../../../../as/CMD/svc2_out.casl: 8: LAD GR1,=#A
-../../../../as/CMD/svc2_out.casl: 9: LAD GR2,=1
+../../../../as/CMD/svc2_out.casl: 9: LAD GR2,1
../../../../as/CMD/svc2_out.casl: 10: SVC 2
../../../../as/CMD/svc2_out.casl: 11: POP GR2
../../../../as/CMD/svc2_out.casl: 12: POP GR1
../../../../as/CMD/svc2_out.casl: 5: LAD GR1,OBUF
#0004 #1210
#0005 #0013
-../../../../as/CMD/svc2_out.casl: 6: LAD GR2,LEN
- #0006 #1220
+../../../../as/CMD/svc2_out.casl: 6: LD GR2,LEN
+ #0006 #1020
#0007 #0017
../../../../as/CMD/svc2_out.casl: 7: SVC 2
#0008 #F000
#0018 #000A
#000A #1210
#000B #0018
-../../../../as/CMD/svc2_out.casl: 9: LAD GR2,=1
- #0019 #0001
+../../../../as/CMD/svc2_out.casl: 9: LAD GR2,1
#000C #1220
- #000D #0019
+ #000D #0001
../../../../as/CMD/svc2_out.casl: 10: SVC 2
#000E #F000
#000F #0002
#0000: FR (OF SF ZF): 000
#0000: Memory::::
#0000: adr : 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F
-#0000: 0000: 7001 0000 7002 0000 1210 0013 1220 0017 F000 0002 1210 0018 1220 0019 F000 0002
-#0000: 0010: 7120 7110 8100 0061 0062 0063 0064 0004 000A 0001 0000 0000 0000 0000 0000 0000
+#0000: 0000: 7001 0000 7002 0000 1210 0013 1020 0017 F000 0002 1210 0018 1220 0001 F000 0002
+#0000: 0010: 7120 7110 8100 0061 0062 0063 0064 0004 000A 0000 0000 0000 0000 0000 0000 0000
#0000: 0020: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
#0000: 0030: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
#0000: 0040: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
#0002: FR (OF SF ZF): 000
#0002: Memory::::
#0002: adr : 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F
-#0002: 0000: 7001 0000 7002 0000 1210 0013 1220 0017 F000 0002 1210 0018 1220 0019 F000 0002
-#0002: 0010: 7120 7110 8100 0061 0062 0063 0064 0004 000A 0001 0000 0000 0000 0000 0000 0000
+#0002: 0000: 7001 0000 7002 0000 1210 0013 1020 0017 F000 0002 1210 0018 1220 0001 F000 0002
+#0002: 0010: 7120 7110 8100 0061 0062 0063 0064 0004 000A 0000 0000 0000 0000 0000 0000 0000
#0002: 0020: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
#0002: 0030: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
#0002: 0040: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
#0004: FR (OF SF ZF): 000
#0004: Memory::::
#0004: adr : 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F
-#0004: 0000: 7001 0000 7002 0000 1210 0013 1220 0017 F000 0002 1210 0018 1220 0019 F000 0002
-#0004: 0010: 7120 7110 8100 0061 0062 0063 0064 0004 000A 0001 0000 0000 0000 0000 0000 0000
+#0004: 0000: 7001 0000 7002 0000 1210 0013 1020 0017 F000 0002 1210 0018 1220 0001 F000 0002
+#0004: 0010: 7120 7110 8100 0061 0062 0063 0064 0004 000A 0000 0000 0000 0000 0000 0000 0000
#0004: 0020: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
#0004: 0030: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
#0004: 0040: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
#0006: FR (OF SF ZF): 000
#0006: Memory::::
#0006: adr : 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F
-#0006: 0000: 7001 0000 7002 0000 1210 0013 1220 0017 F000 0002 1210 0018 1220 0019 F000 0002
-#0006: 0010: 7120 7110 8100 0061 0062 0063 0064 0004 000A 0001 0000 0000 0000 0000 0000 0000
+#0006: 0000: 7001 0000 7002 0000 1210 0013 1020 0017 F000 0002 1210 0018 1220 0001 F000 0002
+#0006: 0010: 7120 7110 8100 0061 0062 0063 0064 0004 000A 0000 0000 0000 0000 0000 0000 0000
#0006: 0020: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
#0006: 0030: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
#0006: 0040: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
#0008: Register::::
#0008: GR0: 0 = #0000 = 0000000000000000
#0008: GR1: 19 = #0013 = 0000000000010011
-#0008: GR2: 23 = #0017 = 0000000000010111
+#0008: GR2: 4 = #0004 = 0000000000000100
#0008: GR3: 0 = #0000 = 0000000000000000
#0008: GR4: 0 = #0000 = 0000000000000000
#0008: GR5: 0 = #0000 = 0000000000000000
#0008: FR (OF SF ZF): 000
#0008: Memory::::
#0008: adr : 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F
-#0008: 0000: 7001 0000 7002 0000 1210 0013 1220 0017 F000 0002 1210 0018 1220 0019 F000 0002
-#0008: 0010: 7120 7110 8100 0061 0062 0063 0064 0004 000A 0001 0000 0000 0000 0000 0000 0000
+#0008: 0000: 7001 0000 7002 0000 1210 0013 1020 0017 F000 0002 1210 0018 1220 0001 F000 0002
+#0008: 0010: 7120 7110 8100 0061 0062 0063 0064 0004 000A 0000 0000 0000 0000 0000 0000 0000
#0008: 0020: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
#0008: 0030: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
#0008: 0040: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
abcd#000A: Register::::
#000A: GR0: 0 = #0000 = 0000000000000000
#000A: GR1: 19 = #0013 = 0000000000010011
-#000A: GR2: 23 = #0017 = 0000000000010111
+#000A: GR2: 4 = #0004 = 0000000000000100
#000A: GR3: 0 = #0000 = 0000000000000000
#000A: GR4: 0 = #0000 = 0000000000000000
#000A: GR5: 0 = #0000 = 0000000000000000
#000A: FR (OF SF ZF): 000
#000A: Memory::::
#000A: adr : 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F
-#000A: 0000: 7001 0000 7002 0000 1210 0013 1220 0017 F000 0002 1210 0018 1220 0019 F000 0002
-#000A: 0010: 7120 7110 8100 0061 0062 0063 0064 0004 000A 0001 0000 0000 0000 0000 0000 0000
+#000A: 0000: 7001 0000 7002 0000 1210 0013 1020 0017 F000 0002 1210 0018 1220 0001 F000 0002
+#000A: 0010: 7120 7110 8100 0061 0062 0063 0064 0004 000A 0000 0000 0000 0000 0000 0000 0000
#000A: 0020: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
#000A: 0030: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
#000A: 0040: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
#000C: Register::::
#000C: GR0: 0 = #0000 = 0000000000000000
#000C: GR1: 24 = #0018 = 0000000000011000
-#000C: GR2: 23 = #0017 = 0000000000010111
+#000C: GR2: 4 = #0004 = 0000000000000100
#000C: GR3: 0 = #0000 = 0000000000000000
#000C: GR4: 0 = #0000 = 0000000000000000
#000C: GR5: 0 = #0000 = 0000000000000000
#000C: FR (OF SF ZF): 000
#000C: Memory::::
#000C: adr : 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F
-#000C: 0000: 7001 0000 7002 0000 1210 0013 1220 0017 F000 0002 1210 0018 1220 0019 F000 0002
-#000C: 0010: 7120 7110 8100 0061 0062 0063 0064 0004 000A 0001 0000 0000 0000 0000 0000 0000
+#000C: 0000: 7001 0000 7002 0000 1210 0013 1020 0017 F000 0002 1210 0018 1220 0001 F000 0002
+#000C: 0010: 7120 7110 8100 0061 0062 0063 0064 0004 000A 0000 0000 0000 0000 0000 0000 0000
#000C: 0020: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
#000C: 0030: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
#000C: 0040: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
#000E: Register::::
#000E: GR0: 0 = #0000 = 0000000000000000
#000E: GR1: 24 = #0018 = 0000000000011000
-#000E: GR2: 25 = #0019 = 0000000000011001
+#000E: GR2: 1 = #0001 = 0000000000000001
#000E: GR3: 0 = #0000 = 0000000000000000
#000E: GR4: 0 = #0000 = 0000000000000000
#000E: GR5: 0 = #0000 = 0000000000000000
#000E: FR (OF SF ZF): 000
#000E: Memory::::
#000E: adr : 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F
-#000E: 0000: 7001 0000 7002 0000 1210 0013 1220 0017 F000 0002 1210 0018 1220 0019 F000 0002
-#000E: 0010: 7120 7110 8100 0061 0062 0063 0064 0004 000A 0001 0000 0000 0000 0000 0000 0000
+#000E: 0000: 7001 0000 7002 0000 1210 0013 1020 0017 F000 0002 1210 0018 1220 0001 F000 0002
+#000E: 0010: 7120 7110 8100 0061 0062 0063 0064 0004 000A 0000 0000 0000 0000 0000 0000 0000
#000E: 0020: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
#000E: 0030: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
#000E: 0040: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
#0010: Register::::
#0010: GR0: 0 = #0000 = 0000000000000000
#0010: GR1: 24 = #0018 = 0000000000011000
-#0010: GR2: 25 = #0019 = 0000000000011001
+#0010: GR2: 1 = #0001 = 0000000000000001
#0010: GR3: 0 = #0000 = 0000000000000000
#0010: GR4: 0 = #0000 = 0000000000000000
#0010: GR5: 0 = #0000 = 0000000000000000
#0010: FR (OF SF ZF): 000
#0010: Memory::::
#0010: adr : 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F
-#0010: 0000: 7001 0000 7002 0000 1210 0013 1220 0017 F000 0002 1210 0018 1220 0019 F000 0002
-#0010: 0010: 7120 7110 8100 0061 0062 0063 0064 0004 000A 0001 0000 0000 0000 0000 0000 0000
+#0010: 0000: 7001 0000 7002 0000 1210 0013 1020 0017 F000 0002 1210 0018 1220 0001 F000 0002
+#0010: 0010: 7120 7110 8100 0061 0062 0063 0064 0004 000A 0000 0000 0000 0000 0000 0000 0000
#0010: 0020: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
#0010: 0030: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
#0010: 0040: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
#0011: FR (OF SF ZF): 000
#0011: Memory::::
#0011: adr : 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F
-#0011: 0000: 7001 0000 7002 0000 1210 0013 1220 0017 F000 0002 1210 0018 1220 0019 F000 0002
-#0011: 0010: 7120 7110 8100 0061 0062 0063 0064 0004 000A 0001 0000 0000 0000 0000 0000 0000
+#0011: 0000: 7001 0000 7002 0000 1210 0013 1020 0017 F000 0002 1210 0018 1220 0001 F000 0002
+#0011: 0010: 7120 7110 8100 0061 0062 0063 0064 0004 000A 0000 0000 0000 0000 0000 0000 0000
#0011: 0020: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
#0011: 0030: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
#0011: 0040: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
#0012: FR (OF SF ZF): 000
#0012: Memory::::
#0012: adr : 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F
-#0012: 0000: 7001 0000 7002 0000 1210 0013 1220 0017 F000 0002 1210 0018 1220 0019 F000 0002
-#0012: 0010: 7120 7110 8100 0061 0062 0063 0064 0004 000A 0001 0000 0000 0000 0000 0000 0000
+#0012: 0000: 7001 0000 7002 0000 1210 0013 1020 0017 F000 0002 1210 0018 1220 0001 F000 0002
+#0012: 0010: 7120 7110 8100 0061 0062 0063 0064 0004 000A 0000 0000 0000 0000 0000 0000 0000
#0012: 0020: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
#0012: 0030: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
#0012: 0040: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
include ../CMD.mk # YACASL2DIR, CASL2
-CASL2FLAG = -latd
-ASDIR = $(YACASL2DIR)/as/CMD
-ASFILE = $(ASDIR)/out1.casl
+CASL2FLAG = -slatd
+ASDIR = $(YACASL2DIR)/as/MISC/out
+ASFILE = $(ASDIR)/hello1.casl
CMD = $(CASL2) $(CASL2FLAG) $(ASFILE)
include ../TEST.mk
+++ /dev/null
-../../../../casl2 -latd ../../../../as/CMD/out1.casl
-
-Assemble ../../../../as/CMD/out1.casl (0)
-
-Label::::
-OTEST.IOLEN ---> #0029
-OTEST ---> #0000
-OTEST.IOBUF ---> #0013
-
-Assemble ../../../../as/CMD/out1.casl (1)
-../../../../as/CMD/out1.casl: 1:;;; OUTの使用例
-../../../../as/CMD/out1.casl: 2:OTEST START
-../../../../as/CMD/out1.casl: 3: OUT IOBUF,IOLEN
- #0000 #7001
- #0001 #0000
- #0002 #7002
- #0003 #0000
- #0004 #1210
- #0005 #0013
- #0006 #1220
- #0007 #0029
- #0008 #F000
- #0009 #0002
- #000A #1210
- #000B #002A
- #002A #000A
- #000C #1220
- #000D #002B
- #002B #0001
- #000E #F000
- #000F #0002
- #0010 #7120
- #0011 #7110
-../../../../as/CMD/out1.casl: 4: RET
- #0012 #8100
-../../../../as/CMD/out1.casl: 5:IOBUF DC 'aaaa',10,'b','c',10,'as','qwerty','111111'
- #0013 #0061
- #0014 #0061
- #0015 #0061
- #0016 #0061
- #0017 #000A
- #0018 #0062
- #0019 #0063
- #001A #000A
- #001B #0061
- #001C #0073
- #001D #0071
- #001E #0077
- #001F #0065
- #0020 #0072
- #0021 #0074
- #0022 #0079
- #0023 #0031
- #0024 #0031
- #0025 #0031
- #0026 #0031
- #0027 #0031
- #0028 #0031
-../../../../as/CMD/out1.casl: 6:IOLEN DC 24
- #0029 #0018
-../../../../as/CMD/out1.casl: 7: END
-
-Executing machine codes
-#0000: Register::::
-#0000: GR0: 0 = #0000 = 0000000000000000
-#0000: GR1: 0 = #0000 = 0000000000000000
-#0000: GR2: 0 = #0000 = 0000000000000000
-#0000: GR3: 0 = #0000 = 0000000000000000
-#0000: GR4: 0 = #0000 = 0000000000000000
-#0000: GR5: 0 = #0000 = 0000000000000000
-#0000: GR6: 0 = #0000 = 0000000000000000
-#0000: GR7: 0 = #0000 = 0000000000000000
-#0000: SP: 512 = #0200 = 0000001000000000
-#0000: PR: 0 = #0000 = 0000000000000000
-#0000: FR (OF SF ZF): 000
-#0000: Memory::::
-#0000: adr : 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F
-#0000: 0000: 7001 0000 7002 0000 1210 0013 1220 0029 F000 0002 1210 002A 1220 002B F000 0002
-#0000: 0010: 7120 7110 8100 0061 0061 0061 0061 000A 0062 0063 000A 0061 0073 0071 0077 0065
-#0000: 0020: 0072 0074 0079 0031 0031 0031 0031 0031 0031 0018 000A 0001 0000 0000 0000 0000
-#0000: 0030: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0000: 0040: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0000: 0050: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0000: 0060: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0000: 0070: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0000: 0080: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0000: 0090: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0000: 00A0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0000: 00B0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0000: 00C0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0000: 00D0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0000: 00E0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0000: 00F0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0000: 0100: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0000: 0110: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0000: 0120: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0000: 0130: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0000: 0140: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0000: 0150: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0000: 0160: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0000: 0170: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0000: 0180: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0000: 0190: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0000: 01A0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0000: 01B0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0000: 01C0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0000: 01D0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0000: 01E0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0000: 01F0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-
-#0002: Register::::
-#0002: GR0: 0 = #0000 = 0000000000000000
-#0002: GR1: 0 = #0000 = 0000000000000000
-#0002: GR2: 0 = #0000 = 0000000000000000
-#0002: GR3: 0 = #0000 = 0000000000000000
-#0002: GR4: 0 = #0000 = 0000000000000000
-#0002: GR5: 0 = #0000 = 0000000000000000
-#0002: GR6: 0 = #0000 = 0000000000000000
-#0002: GR7: 0 = #0000 = 0000000000000000
-#0002: SP: 511 = #01FF = 0000000111111111
-#0002: PR: 2 = #0002 = 0000000000000010
-#0002: FR (OF SF ZF): 000
-#0002: Memory::::
-#0002: adr : 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F
-#0002: 0000: 7001 0000 7002 0000 1210 0013 1220 0029 F000 0002 1210 002A 1220 002B F000 0002
-#0002: 0010: 7120 7110 8100 0061 0061 0061 0061 000A 0062 0063 000A 0061 0073 0071 0077 0065
-#0002: 0020: 0072 0074 0079 0031 0031 0031 0031 0031 0031 0018 000A 0001 0000 0000 0000 0000
-#0002: 0030: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0002: 0040: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0002: 0050: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0002: 0060: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0002: 0070: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0002: 0080: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0002: 0090: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0002: 00A0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0002: 00B0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0002: 00C0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0002: 00D0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0002: 00E0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0002: 00F0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0002: 0100: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0002: 0110: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0002: 0120: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0002: 0130: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0002: 0140: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0002: 0150: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0002: 0160: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0002: 0170: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0002: 0180: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0002: 0190: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0002: 01A0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0002: 01B0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0002: 01C0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0002: 01D0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0002: 01E0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0002: 01F0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-
-#0004: Register::::
-#0004: GR0: 0 = #0000 = 0000000000000000
-#0004: GR1: 0 = #0000 = 0000000000000000
-#0004: GR2: 0 = #0000 = 0000000000000000
-#0004: GR3: 0 = #0000 = 0000000000000000
-#0004: GR4: 0 = #0000 = 0000000000000000
-#0004: GR5: 0 = #0000 = 0000000000000000
-#0004: GR6: 0 = #0000 = 0000000000000000
-#0004: GR7: 0 = #0000 = 0000000000000000
-#0004: SP: 510 = #01FE = 0000000111111110
-#0004: PR: 4 = #0004 = 0000000000000100
-#0004: FR (OF SF ZF): 000
-#0004: Memory::::
-#0004: adr : 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F
-#0004: 0000: 7001 0000 7002 0000 1210 0013 1220 0029 F000 0002 1210 002A 1220 002B F000 0002
-#0004: 0010: 7120 7110 8100 0061 0061 0061 0061 000A 0062 0063 000A 0061 0073 0071 0077 0065
-#0004: 0020: 0072 0074 0079 0031 0031 0031 0031 0031 0031 0018 000A 0001 0000 0000 0000 0000
-#0004: 0030: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0004: 0040: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0004: 0050: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0004: 0060: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0004: 0070: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0004: 0080: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0004: 0090: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0004: 00A0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0004: 00B0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0004: 00C0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0004: 00D0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0004: 00E0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0004: 00F0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0004: 0100: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0004: 0110: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0004: 0120: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0004: 0130: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0004: 0140: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0004: 0150: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0004: 0160: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0004: 0170: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0004: 0180: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0004: 0190: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0004: 01A0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0004: 01B0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0004: 01C0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0004: 01D0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0004: 01E0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0004: 01F0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-
-#0006: Register::::
-#0006: GR0: 0 = #0000 = 0000000000000000
-#0006: GR1: 19 = #0013 = 0000000000010011
-#0006: GR2: 0 = #0000 = 0000000000000000
-#0006: GR3: 0 = #0000 = 0000000000000000
-#0006: GR4: 0 = #0000 = 0000000000000000
-#0006: GR5: 0 = #0000 = 0000000000000000
-#0006: GR6: 0 = #0000 = 0000000000000000
-#0006: GR7: 0 = #0000 = 0000000000000000
-#0006: SP: 510 = #01FE = 0000000111111110
-#0006: PR: 6 = #0006 = 0000000000000110
-#0006: FR (OF SF ZF): 000
-#0006: Memory::::
-#0006: adr : 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F
-#0006: 0000: 7001 0000 7002 0000 1210 0013 1220 0029 F000 0002 1210 002A 1220 002B F000 0002
-#0006: 0010: 7120 7110 8100 0061 0061 0061 0061 000A 0062 0063 000A 0061 0073 0071 0077 0065
-#0006: 0020: 0072 0074 0079 0031 0031 0031 0031 0031 0031 0018 000A 0001 0000 0000 0000 0000
-#0006: 0030: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0006: 0040: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0006: 0050: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0006: 0060: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0006: 0070: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0006: 0080: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0006: 0090: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0006: 00A0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0006: 00B0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0006: 00C0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0006: 00D0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0006: 00E0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0006: 00F0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0006: 0100: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0006: 0110: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0006: 0120: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0006: 0130: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0006: 0140: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0006: 0150: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0006: 0160: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0006: 0170: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0006: 0180: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0006: 0190: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0006: 01A0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0006: 01B0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0006: 01C0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0006: 01D0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0006: 01E0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0006: 01F0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-
-#0008: Register::::
-#0008: GR0: 0 = #0000 = 0000000000000000
-#0008: GR1: 19 = #0013 = 0000000000010011
-#0008: GR2: 41 = #0029 = 0000000000101001 = ')'
-#0008: GR3: 0 = #0000 = 0000000000000000
-#0008: GR4: 0 = #0000 = 0000000000000000
-#0008: GR5: 0 = #0000 = 0000000000000000
-#0008: GR6: 0 = #0000 = 0000000000000000
-#0008: GR7: 0 = #0000 = 0000000000000000
-#0008: SP: 510 = #01FE = 0000000111111110
-#0008: PR: 8 = #0008 = 0000000000001000
-#0008: FR (OF SF ZF): 000
-#0008: Memory::::
-#0008: adr : 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F
-#0008: 0000: 7001 0000 7002 0000 1210 0013 1220 0029 F000 0002 1210 002A 1220 002B F000 0002
-#0008: 0010: 7120 7110 8100 0061 0061 0061 0061 000A 0062 0063 000A 0061 0073 0071 0077 0065
-#0008: 0020: 0072 0074 0079 0031 0031 0031 0031 0031 0031 0018 000A 0001 0000 0000 0000 0000
-#0008: 0030: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0008: 0040: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0008: 0050: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0008: 0060: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0008: 0070: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0008: 0080: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0008: 0090: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0008: 00A0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0008: 00B0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0008: 00C0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0008: 00D0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0008: 00E0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0008: 00F0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0008: 0100: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0008: 0110: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0008: 0120: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0008: 0130: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0008: 0140: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0008: 0150: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0008: 0160: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0008: 0170: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0008: 0180: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0008: 0190: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0008: 01A0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0008: 01B0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0008: 01C0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0008: 01D0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0008: 01E0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0008: 01F0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-
-aaaa
-bc
-asqwerty111111.
-#000A: Register::::
-#000A: GR0: 0 = #0000 = 0000000000000000
-#000A: GR1: 19 = #0013 = 0000000000010011
-#000A: GR2: 41 = #0029 = 0000000000101001 = ')'
-#000A: GR3: 0 = #0000 = 0000000000000000
-#000A: GR4: 0 = #0000 = 0000000000000000
-#000A: GR5: 0 = #0000 = 0000000000000000
-#000A: GR6: 0 = #0000 = 0000000000000000
-#000A: GR7: 0 = #0000 = 0000000000000000
-#000A: SP: 510 = #01FE = 0000000111111110
-#000A: PR: 10 = #000A = 0000000000001010
-#000A: FR (OF SF ZF): 000
-#000A: Memory::::
-#000A: adr : 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F
-#000A: 0000: 7001 0000 7002 0000 1210 0013 1220 0029 F000 0002 1210 002A 1220 002B F000 0002
-#000A: 0010: 7120 7110 8100 0061 0061 0061 0061 000A 0062 0063 000A 0061 0073 0071 0077 0065
-#000A: 0020: 0072 0074 0079 0031 0031 0031 0031 0031 0031 0018 000A 0001 0000 0000 0000 0000
-#000A: 0030: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000A: 0040: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000A: 0050: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000A: 0060: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000A: 0070: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000A: 0080: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000A: 0090: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000A: 00A0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000A: 00B0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000A: 00C0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000A: 00D0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000A: 00E0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000A: 00F0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000A: 0100: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000A: 0110: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000A: 0120: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000A: 0130: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000A: 0140: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000A: 0150: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000A: 0160: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000A: 0170: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000A: 0180: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000A: 0190: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000A: 01A0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000A: 01B0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000A: 01C0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000A: 01D0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000A: 01E0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000A: 01F0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-
-#000C: Register::::
-#000C: GR0: 0 = #0000 = 0000000000000000
-#000C: GR1: 42 = #002A = 0000000000101010 = '*'
-#000C: GR2: 41 = #0029 = 0000000000101001 = ')'
-#000C: GR3: 0 = #0000 = 0000000000000000
-#000C: GR4: 0 = #0000 = 0000000000000000
-#000C: GR5: 0 = #0000 = 0000000000000000
-#000C: GR6: 0 = #0000 = 0000000000000000
-#000C: GR7: 0 = #0000 = 0000000000000000
-#000C: SP: 510 = #01FE = 0000000111111110
-#000C: PR: 12 = #000C = 0000000000001100
-#000C: FR (OF SF ZF): 000
-#000C: Memory::::
-#000C: adr : 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F
-#000C: 0000: 7001 0000 7002 0000 1210 0013 1220 0029 F000 0002 1210 002A 1220 002B F000 0002
-#000C: 0010: 7120 7110 8100 0061 0061 0061 0061 000A 0062 0063 000A 0061 0073 0071 0077 0065
-#000C: 0020: 0072 0074 0079 0031 0031 0031 0031 0031 0031 0018 000A 0001 0000 0000 0000 0000
-#000C: 0030: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000C: 0040: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000C: 0050: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000C: 0060: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000C: 0070: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000C: 0080: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000C: 0090: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000C: 00A0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000C: 00B0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000C: 00C0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000C: 00D0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000C: 00E0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000C: 00F0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000C: 0100: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000C: 0110: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000C: 0120: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000C: 0130: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000C: 0140: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000C: 0150: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000C: 0160: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000C: 0170: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000C: 0180: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000C: 0190: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000C: 01A0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000C: 01B0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000C: 01C0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000C: 01D0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000C: 01E0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000C: 01F0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-
-#000E: Register::::
-#000E: GR0: 0 = #0000 = 0000000000000000
-#000E: GR1: 42 = #002A = 0000000000101010 = '*'
-#000E: GR2: 43 = #002B = 0000000000101011 = '+'
-#000E: GR3: 0 = #0000 = 0000000000000000
-#000E: GR4: 0 = #0000 = 0000000000000000
-#000E: GR5: 0 = #0000 = 0000000000000000
-#000E: GR6: 0 = #0000 = 0000000000000000
-#000E: GR7: 0 = #0000 = 0000000000000000
-#000E: SP: 510 = #01FE = 0000000111111110
-#000E: PR: 14 = #000E = 0000000000001110
-#000E: FR (OF SF ZF): 000
-#000E: Memory::::
-#000E: adr : 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F
-#000E: 0000: 7001 0000 7002 0000 1210 0013 1220 0029 F000 0002 1210 002A 1220 002B F000 0002
-#000E: 0010: 7120 7110 8100 0061 0061 0061 0061 000A 0062 0063 000A 0061 0073 0071 0077 0065
-#000E: 0020: 0072 0074 0079 0031 0031 0031 0031 0031 0031 0018 000A 0001 0000 0000 0000 0000
-#000E: 0030: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000E: 0040: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000E: 0050: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000E: 0060: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000E: 0070: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000E: 0080: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000E: 0090: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000E: 00A0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000E: 00B0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000E: 00C0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000E: 00D0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000E: 00E0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000E: 00F0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000E: 0100: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000E: 0110: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000E: 0120: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000E: 0130: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000E: 0140: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000E: 0150: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000E: 0160: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000E: 0170: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000E: 0180: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000E: 0190: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000E: 01A0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000E: 01B0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000E: 01C0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000E: 01D0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000E: 01E0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#000E: 01F0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-
-
-#0010: Register::::
-#0010: GR0: 0 = #0000 = 0000000000000000
-#0010: GR1: 42 = #002A = 0000000000101010 = '*'
-#0010: GR2: 43 = #002B = 0000000000101011 = '+'
-#0010: GR3: 0 = #0000 = 0000000000000000
-#0010: GR4: 0 = #0000 = 0000000000000000
-#0010: GR5: 0 = #0000 = 0000000000000000
-#0010: GR6: 0 = #0000 = 0000000000000000
-#0010: GR7: 0 = #0000 = 0000000000000000
-#0010: SP: 510 = #01FE = 0000000111111110
-#0010: PR: 16 = #0010 = 0000000000010000
-#0010: FR (OF SF ZF): 000
-#0010: Memory::::
-#0010: adr : 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F
-#0010: 0000: 7001 0000 7002 0000 1210 0013 1220 0029 F000 0002 1210 002A 1220 002B F000 0002
-#0010: 0010: 7120 7110 8100 0061 0061 0061 0061 000A 0062 0063 000A 0061 0073 0071 0077 0065
-#0010: 0020: 0072 0074 0079 0031 0031 0031 0031 0031 0031 0018 000A 0001 0000 0000 0000 0000
-#0010: 0030: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0010: 0040: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0010: 0050: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0010: 0060: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0010: 0070: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0010: 0080: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0010: 0090: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0010: 00A0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0010: 00B0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0010: 00C0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0010: 00D0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0010: 00E0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0010: 00F0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0010: 0100: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0010: 0110: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0010: 0120: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0010: 0130: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0010: 0140: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0010: 0150: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0010: 0160: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0010: 0170: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0010: 0180: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0010: 0190: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0010: 01A0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0010: 01B0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0010: 01C0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0010: 01D0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0010: 01E0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0010: 01F0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-
-#0011: Register::::
-#0011: GR0: 0 = #0000 = 0000000000000000
-#0011: GR1: 42 = #002A = 0000000000101010 = '*'
-#0011: GR2: 0 = #0000 = 0000000000000000
-#0011: GR3: 0 = #0000 = 0000000000000000
-#0011: GR4: 0 = #0000 = 0000000000000000
-#0011: GR5: 0 = #0000 = 0000000000000000
-#0011: GR6: 0 = #0000 = 0000000000000000
-#0011: GR7: 0 = #0000 = 0000000000000000
-#0011: SP: 511 = #01FF = 0000000111111111
-#0011: PR: 17 = #0011 = 0000000000010001
-#0011: FR (OF SF ZF): 000
-#0011: Memory::::
-#0011: adr : 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F
-#0011: 0000: 7001 0000 7002 0000 1210 0013 1220 0029 F000 0002 1210 002A 1220 002B F000 0002
-#0011: 0010: 7120 7110 8100 0061 0061 0061 0061 000A 0062 0063 000A 0061 0073 0071 0077 0065
-#0011: 0020: 0072 0074 0079 0031 0031 0031 0031 0031 0031 0018 000A 0001 0000 0000 0000 0000
-#0011: 0030: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0011: 0040: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0011: 0050: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0011: 0060: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0011: 0070: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0011: 0080: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0011: 0090: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0011: 00A0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0011: 00B0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0011: 00C0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0011: 00D0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0011: 00E0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0011: 00F0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0011: 0100: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0011: 0110: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0011: 0120: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0011: 0130: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0011: 0140: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0011: 0150: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0011: 0160: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0011: 0170: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0011: 0180: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0011: 0190: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0011: 01A0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0011: 01B0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0011: 01C0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0011: 01D0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0011: 01E0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0011: 01F0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-
-#0012: Register::::
-#0012: GR0: 0 = #0000 = 0000000000000000
-#0012: GR1: 0 = #0000 = 0000000000000000
-#0012: GR2: 0 = #0000 = 0000000000000000
-#0012: GR3: 0 = #0000 = 0000000000000000
-#0012: GR4: 0 = #0000 = 0000000000000000
-#0012: GR5: 0 = #0000 = 0000000000000000
-#0012: GR6: 0 = #0000 = 0000000000000000
-#0012: GR7: 0 = #0000 = 0000000000000000
-#0012: SP: 512 = #0200 = 0000001000000000
-#0012: PR: 18 = #0012 = 0000000000010010
-#0012: FR (OF SF ZF): 000
-#0012: Memory::::
-#0012: adr : 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F
-#0012: 0000: 7001 0000 7002 0000 1210 0013 1220 0029 F000 0002 1210 002A 1220 002B F000 0002
-#0012: 0010: 7120 7110 8100 0061 0061 0061 0061 000A 0062 0063 000A 0061 0073 0071 0077 0065
-#0012: 0020: 0072 0074 0079 0031 0031 0031 0031 0031 0031 0018 000A 0001 0000 0000 0000 0000
-#0012: 0030: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0012: 0040: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0012: 0050: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0012: 0060: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0012: 0070: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0012: 0080: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0012: 0090: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0012: 00A0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0012: 00B0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0012: 00C0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0012: 00D0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0012: 00E0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0012: 00F0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0012: 0100: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0012: 0110: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0012: 0120: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0012: 0130: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0012: 0140: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0012: 0150: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0012: 0160: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0012: 0170: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0012: 0180: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0012: 0190: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0012: 01A0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0012: 01B0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0012: 01C0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0012: 01D0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0012: 01E0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-#0012: 01F0: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
-
+++ /dev/null
-include ../CMD.mk # YACASL2DIR, CASL2
-CASL2FLAG = -slatd
-ASDIR = $(YACASL2DIR)/as/CMD
-ASFILE = $(ASDIR)/svc2_out.casl
-CMD = $(CASL2) $(CASL2FLAG) $(ASFILE) $(IN)
-include ../TEST.mk
../../../../comet2 a.o
-abcd
+Hello, World!
\ No newline at end of file
--- /dev/null
+include ../CMD.mk # YACASL2DIR, CASL2
+ASDIR = $(YACASL2DIR)/as/MISC/out
+ASFILE = $(ASDIR)/hello1.casl
+include ../TEST.mk
+++ /dev/null
-../../../../comet2 -M640 a.o
-0
-0
-0
---------------------
-0
-1
-0
---------------------
-0
-2
-0
---------------------
-0
-127
-0
---------------------
-0
-128
-0
---------------------
-0
-151
-0
---------------------
-0
-217
-0
---------------------
-0
-255
-0
---------------------
-0
-256
-0
---------------------
-0
-257
-0
---------------------
-0
-32767
-0
---------------------
-0
--32768
-0
---------------------
-0
--32767
-0
---------------------
-0
--257
-0
---------------------
-0
--256
-0
---------------------
-0
--255
-0
---------------------
-0
--217
-0
---------------------
-0
--151
-0
---------------------
-0
--128
-0
---------------------
-0
--127
-0
---------------------
-0
--2
-0
---------------------
-0
--1
-0
---------------------
-1
-0
-0
---------------------
-1
-1
-1
---------------------
-1
-2
-2
---------------------
-1
-127
-127
---------------------
-1
-128
-128
---------------------
-1
-151
-151
---------------------
-1
-217
-217
---------------------
-1
-255
-255
---------------------
-1
-256
-256
---------------------
-1
-257
-257
---------------------
-1
-32767
-32767
---------------------
-1
--32768
-Warning: overflow
---------------------
-1
--32767
--32767
---------------------
-1
--257
--257
---------------------
-1
--256
--256
---------------------
-1
--255
--255
---------------------
-1
--217
--217
---------------------
-1
--151
--151
---------------------
-1
--128
--128
---------------------
-1
--127
--127
---------------------
-1
--2
--2
---------------------
-1
--1
--1
---------------------
-2
-0
-0
---------------------
-2
-1
-2
---------------------
-2
-2
-4
---------------------
-2
-127
-254
---------------------
-2
-128
-256
---------------------
-2
-151
-302
---------------------
-2
-217
-434
---------------------
-2
-255
-510
---------------------
-2
-256
-512
---------------------
-2
-257
-514
---------------------
-2
-32767
-Warning: overflow
---------------------
-2
--32768
-Warning: overflow
---------------------
-2
--32767
-Warning: overflow
---------------------
-2
--257
--514
---------------------
-2
--256
--512
---------------------
-2
--255
--510
---------------------
-2
--217
--434
---------------------
-2
--151
--302
---------------------
-2
--128
--256
---------------------
-2
--127
--254
---------------------
-2
--2
--4
---------------------
-2
--1
--2
---------------------
-127
-0
-0
---------------------
-127
-1
-127
---------------------
-127
-2
-254
---------------------
-127
-127
-16129
---------------------
-127
-128
-16256
---------------------
-127
-151
-19177
---------------------
-127
-217
-27559
---------------------
-127
-255
-32385
---------------------
-127
-256
-32512
---------------------
-127
-257
-32639
---------------------
-127
-32767
-Warning: overflow
---------------------
-127
--32768
-Warning: overflow
---------------------
-127
--32767
-Warning: overflow
---------------------
-127
--257
--32639
---------------------
-127
--256
--32512
---------------------
-127
--255
--32385
---------------------
-127
--217
--27559
---------------------
-127
--151
--19177
---------------------
-127
--128
--16256
---------------------
-127
--127
--16129
---------------------
-127
--2
--254
---------------------
-127
--1
--127
---------------------
-128
-0
-0
---------------------
-128
-1
-128
---------------------
-128
-2
-256
---------------------
-128
-127
-16256
---------------------
-128
-128
-16384
---------------------
-128
-151
-19328
---------------------
-128
-217
-27776
---------------------
-128
-255
-32640
---------------------
-128
-256
-Warning: overflow
---------------------
-128
-257
-Warning: overflow
---------------------
-128
-32767
-Warning: overflow
---------------------
-128
--32768
-Warning: overflow
---------------------
-128
--32767
-Warning: overflow
---------------------
-128
--257
-Warning: overflow
---------------------
-128
--256
-Warning: overflow
---------------------
-128
--255
--32640
---------------------
-128
--217
--27776
---------------------
-128
--151
--19328
---------------------
-128
--128
--16384
---------------------
-128
--127
--16256
---------------------
-128
--2
--256
---------------------
-128
--1
--128
---------------------
-151
-0
-0
---------------------
-151
-1
-151
---------------------
-151
-2
-302
---------------------
-151
-127
-19177
---------------------
-151
-128
-19328
---------------------
-151
-151
-22801
---------------------
-151
-217
-32767
---------------------
-151
-255
-Warning: overflow
---------------------
-151
-256
-Warning: overflow
---------------------
-151
-257
-Warning: overflow
---------------------
-151
-32767
-Warning: overflow
---------------------
-151
--32768
-Warning: overflow
---------------------
-151
--32767
-Warning: overflow
---------------------
-151
--257
-Warning: overflow
---------------------
-151
--256
-Warning: overflow
---------------------
-151
--255
-Warning: overflow
---------------------
-151
--217
--32767
---------------------
-151
--151
--22801
---------------------
-151
--128
--19328
---------------------
-151
--127
--19177
---------------------
-151
--2
--302
---------------------
-151
--1
--151
---------------------
-217
-0
-0
---------------------
-217
-1
-217
---------------------
-217
-2
-434
---------------------
-217
-127
-27559
---------------------
-217
-128
-27776
---------------------
-217
-151
-32767
---------------------
-217
-217
-Warning: overflow
---------------------
-217
-255
-Warning: overflow
---------------------
-217
-256
-Warning: overflow
---------------------
-217
-257
-Warning: overflow
---------------------
-217
-32767
-Warning: overflow
---------------------
-217
--32768
-Warning: overflow
---------------------
-217
--32767
-Warning: overflow
---------------------
-217
--257
-Warning: overflow
---------------------
-217
--256
-Warning: overflow
---------------------
-217
--255
-Warning: overflow
---------------------
-217
--217
-Warning: overflow
---------------------
-217
--151
--32767
---------------------
-217
--128
--27776
---------------------
-217
--127
--27559
---------------------
-217
--2
--434
---------------------
-217
--1
--217
---------------------
-255
-0
-0
---------------------
-255
-1
-255
---------------------
-255
-2
-510
---------------------
-255
-127
-32385
---------------------
-255
-128
-32640
---------------------
-255
-151
-Warning: overflow
---------------------
-255
-217
-Warning: overflow
---------------------
-255
-255
-Warning: overflow
---------------------
-255
-256
-Warning: overflow
---------------------
-255
-257
-Warning: overflow
---------------------
-255
-32767
-Warning: overflow
---------------------
-255
--32768
-Warning: overflow
---------------------
-255
--32767
-Warning: overflow
---------------------
-255
--257
-Warning: overflow
---------------------
-255
--256
-Warning: overflow
---------------------
-255
--255
-Warning: overflow
---------------------
-255
--217
-Warning: overflow
---------------------
-255
--151
-Warning: overflow
---------------------
-255
--128
--32640
---------------------
-255
--127
--32385
---------------------
-255
--2
--510
---------------------
-255
--1
--255
---------------------
-256
-0
-0
---------------------
-256
-1
-256
---------------------
-256
-2
-512
---------------------
-256
-127
-32512
---------------------
-256
-128
-Warning: overflow
---------------------
-256
-151
-Warning: overflow
---------------------
-256
-217
-Warning: overflow
---------------------
-256
-255
-Warning: overflow
---------------------
-256
-256
-Warning: overflow
---------------------
-256
-257
-Warning: overflow
---------------------
-256
-32767
-Warning: overflow
---------------------
-256
--32768
-Warning: overflow
---------------------
-256
--32767
-Warning: overflow
---------------------
-256
--257
-Warning: overflow
---------------------
-256
--256
-Warning: overflow
---------------------
-256
--255
-Warning: overflow
---------------------
-256
--217
-Warning: overflow
---------------------
-256
--151
-Warning: overflow
---------------------
-256
--128
-Warning: overflow
---------------------
-256
--127
--32512
---------------------
-256
--2
--512
---------------------
-256
--1
--256
---------------------
-257
-0
-0
---------------------
-257
-1
-257
---------------------
-257
-2
-514
---------------------
-257
-127
-32639
---------------------
-257
-128
-Warning: overflow
---------------------
-257
-151
-Warning: overflow
---------------------
-257
-217
-Warning: overflow
---------------------
-257
-255
-Warning: overflow
---------------------
-257
-256
-Warning: overflow
---------------------
-257
-257
-Warning: overflow
---------------------
-257
-32767
-Warning: overflow
---------------------
-257
--32768
-Warning: overflow
---------------------
-257
--32767
-Warning: overflow
---------------------
-257
--257
-Warning: overflow
---------------------
-257
--256
-Warning: overflow
---------------------
-257
--255
-Warning: overflow
---------------------
-257
--217
-Warning: overflow
---------------------
-257
--151
-Warning: overflow
---------------------
-257
--128
-Warning: overflow
---------------------
-257
--127
--32639
---------------------
-257
--2
--514
---------------------
-257
--1
--257
---------------------
-32767
-0
-0
---------------------
-32767
-1
-32767
---------------------
-32767
-2
-Warning: overflow
---------------------
-32767
-127
-Warning: overflow
---------------------
-32767
-128
-Warning: overflow
---------------------
-32767
-151
-Warning: overflow
---------------------
-32767
-217
-Warning: overflow
---------------------
-32767
-255
-Warning: overflow
---------------------
-32767
-256
-Warning: overflow
---------------------
-32767
-257
-Warning: overflow
---------------------
-32767
-32767
-Warning: overflow
---------------------
-32767
--32768
-Warning: overflow
---------------------
-32767
--32767
-Warning: overflow
---------------------
-32767
--257
-Warning: overflow
---------------------
-32767
--256
-Warning: overflow
---------------------
-32767
--255
-Warning: overflow
---------------------
-32767
--217
-Warning: overflow
---------------------
-32767
--151
-Warning: overflow
---------------------
-32767
--128
-Warning: overflow
---------------------
-32767
--127
-Warning: overflow
---------------------
-32767
--2
-Warning: overflow
---------------------
-32767
--1
--32767
---------------------
--32768
-0
-0
---------------------
--32768
-1
-Warning: overflow
---------------------
--32768
-2
-Warning: overflow
---------------------
--32768
-127
-Warning: overflow
---------------------
--32768
-128
-Warning: overflow
---------------------
--32768
-151
-Warning: overflow
---------------------
--32768
-217
-Warning: overflow
---------------------
--32768
-255
-Warning: overflow
---------------------
--32768
-256
-Warning: overflow
---------------------
--32768
-257
-Warning: overflow
---------------------
--32768
-32767
-Warning: overflow
---------------------
--32768
--32768
-Warning: overflow
---------------------
--32768
--32767
-Warning: overflow
---------------------
--32768
--257
-Warning: overflow
---------------------
--32768
--256
-Warning: overflow
---------------------
--32768
--255
-Warning: overflow
---------------------
--32768
--217
-Warning: overflow
---------------------
--32768
--151
-Warning: overflow
---------------------
--32768
--128
-Warning: overflow
---------------------
--32768
--127
-Warning: overflow
---------------------
--32768
--2
-Warning: overflow
---------------------
--32768
--1
-Warning: overflow
---------------------
--32767
-0
-0
---------------------
--32767
-1
--32767
---------------------
--32767
-2
-Warning: overflow
---------------------
--32767
-127
-Warning: overflow
---------------------
--32767
-128
-Warning: overflow
---------------------
--32767
-151
-Warning: overflow
---------------------
--32767
-217
-Warning: overflow
---------------------
--32767
-255
-Warning: overflow
---------------------
--32767
-256
-Warning: overflow
---------------------
--32767
-257
-Warning: overflow
---------------------
--32767
-32767
-Warning: overflow
---------------------
--32767
--32768
-Warning: overflow
---------------------
--32767
--32767
-Warning: overflow
---------------------
--32767
--257
-Warning: overflow
---------------------
--32767
--256
-Warning: overflow
---------------------
--32767
--255
-Warning: overflow
---------------------
--32767
--217
-Warning: overflow
---------------------
--32767
--151
-Warning: overflow
---------------------
--32767
--128
-Warning: overflow
---------------------
--32767
--127
-Warning: overflow
---------------------
--32767
--2
-Warning: overflow
---------------------
--32767
--1
-32767
---------------------
--257
-0
-0
---------------------
--257
-1
--257
---------------------
--257
-2
--514
---------------------
--257
-127
--32639
---------------------
--257
-128
-Warning: overflow
---------------------
--257
-151
-Warning: overflow
---------------------
--257
-217
-Warning: overflow
---------------------
--257
-255
-Warning: overflow
---------------------
--257
-256
-Warning: overflow
---------------------
--257
-257
-Warning: overflow
---------------------
--257
-32767
-Warning: overflow
---------------------
--257
--32768
-Warning: overflow
---------------------
--257
--32767
-Warning: overflow
---------------------
--257
--257
-Warning: overflow
---------------------
--257
--256
-Warning: overflow
---------------------
--257
--255
-Warning: overflow
---------------------
--257
--217
-Warning: overflow
---------------------
--257
--151
-Warning: overflow
---------------------
--257
--128
-Warning: overflow
---------------------
--257
--127
-32639
---------------------
--257
--2
-514
---------------------
--257
--1
-257
---------------------
--256
-0
-0
---------------------
--256
-1
--256
---------------------
--256
-2
--512
---------------------
--256
-127
--32512
---------------------
--256
-128
-Warning: overflow
---------------------
--256
-151
-Warning: overflow
---------------------
--256
-217
-Warning: overflow
---------------------
--256
-255
-Warning: overflow
---------------------
--256
-256
-Warning: overflow
---------------------
--256
-257
-Warning: overflow
---------------------
--256
-32767
-Warning: overflow
---------------------
--256
--32768
-Warning: overflow
---------------------
--256
--32767
-Warning: overflow
---------------------
--256
--257
-Warning: overflow
---------------------
--256
--256
-Warning: overflow
---------------------
--256
--255
-Warning: overflow
---------------------
--256
--217
-Warning: overflow
---------------------
--256
--151
-Warning: overflow
---------------------
--256
--128
-Warning: overflow
---------------------
--256
--127
-32512
---------------------
--256
--2
-512
---------------------
--256
--1
-256
---------------------
--255
-0
-0
---------------------
--255
-1
--255
---------------------
--255
-2
--510
---------------------
--255
-127
--32385
---------------------
--255
-128
--32640
---------------------
--255
-151
-Warning: overflow
---------------------
--255
-217
-Warning: overflow
---------------------
--255
-255
-Warning: overflow
---------------------
--255
-256
-Warning: overflow
---------------------
--255
-257
-Warning: overflow
---------------------
--255
-32767
-Warning: overflow
---------------------
--255
--32768
-Warning: overflow
---------------------
--255
--32767
-Warning: overflow
---------------------
--255
--257
-Warning: overflow
---------------------
--255
--256
-Warning: overflow
---------------------
--255
--255
-Warning: overflow
---------------------
--255
--217
-Warning: overflow
---------------------
--255
--151
-Warning: overflow
---------------------
--255
--128
-32640
---------------------
--255
--127
-32385
---------------------
--255
--2
-510
---------------------
--255
--1
-255
---------------------
--217
-0
-0
---------------------
--217
-1
--217
---------------------
--217
-2
--434
---------------------
--217
-127
--27559
---------------------
--217
-128
--27776
---------------------
--217
-151
--32767
---------------------
--217
-217
-Warning: overflow
---------------------
--217
-255
-Warning: overflow
---------------------
--217
-256
-Warning: overflow
---------------------
--217
-257
-Warning: overflow
---------------------
--217
-32767
-Warning: overflow
---------------------
--217
--32768
-Warning: overflow
---------------------
--217
--32767
-Warning: overflow
---------------------
--217
--257
-Warning: overflow
---------------------
--217
--256
-Warning: overflow
---------------------
--217
--255
-Warning: overflow
---------------------
--217
--217
-Warning: overflow
---------------------
--217
--151
-32767
---------------------
--217
--128
-27776
---------------------
--217
--127
-27559
---------------------
--217
--2
-434
---------------------
--217
--1
-217
---------------------
--151
-0
-0
---------------------
--151
-1
--151
---------------------
--151
-2
--302
---------------------
--151
-127
--19177
---------------------
--151
-128
--19328
---------------------
--151
-151
--22801
---------------------
--151
-217
--32767
---------------------
--151
-255
-Warning: overflow
---------------------
--151
-256
-Warning: overflow
---------------------
--151
-257
-Warning: overflow
---------------------
--151
-32767
-Warning: overflow
---------------------
--151
--32768
-Warning: overflow
---------------------
--151
--32767
-Warning: overflow
---------------------
--151
--257
-Warning: overflow
---------------------
--151
--256
-Warning: overflow
---------------------
--151
--255
-Warning: overflow
---------------------
--151
--217
-32767
---------------------
--151
--151
-22801
---------------------
--151
--128
-19328
---------------------
--151
--127
-19177
---------------------
--151
--2
-302
---------------------
--151
--1
-151
---------------------
--128
-0
-0
---------------------
--128
-1
--128
---------------------
--128
-2
--256
---------------------
--128
-127
--16256
---------------------
--128
-128
--16384
---------------------
--128
-151
--19328
---------------------
--128
-217
--27776
---------------------
--128
-255
--32640
---------------------
--128
-256
-Warning: overflow
---------------------
--128
-257
-Warning: overflow
---------------------
--128
-32767
-Warning: overflow
---------------------
--128
--32768
-Warning: overflow
---------------------
--128
--32767
-Warning: overflow
---------------------
--128
--257
-Warning: overflow
---------------------
--128
--256
-Warning: overflow
---------------------
--128
--255
-32640
---------------------
--128
--217
-27776
---------------------
--128
--151
-19328
---------------------
--128
--128
-16384
---------------------
--128
--127
-16256
---------------------
--128
--2
-256
---------------------
--128
--1
-128
---------------------
--127
-0
-0
---------------------
--127
-1
--127
---------------------
--127
-2
--254
---------------------
--127
-127
--16129
---------------------
--127
-128
--16256
---------------------
--127
-151
--19177
---------------------
--127
-217
--27559
---------------------
--127
-255
--32385
---------------------
--127
-256
--32512
---------------------
--127
-257
--32639
---------------------
--127
-32767
-Warning: overflow
---------------------
--127
--32768
-Warning: overflow
---------------------
--127
--32767
-Warning: overflow
---------------------
--127
--257
-32639
---------------------
--127
--256
-32512
---------------------
--127
--255
-32385
---------------------
--127
--217
-27559
---------------------
--127
--151
-19177
---------------------
--127
--128
-16256
---------------------
--127
--127
-16129
---------------------
--127
--2
-254
---------------------
--127
--1
-127
---------------------
--2
-0
-0
---------------------
--2
-1
--2
---------------------
--2
-2
--4
---------------------
--2
-127
--254
---------------------
--2
-128
--256
---------------------
--2
-151
--302
---------------------
--2
-217
--434
---------------------
--2
-255
--510
---------------------
--2
-256
--512
---------------------
--2
-257
--514
---------------------
--2
-32767
-Warning: overflow
---------------------
--2
--32768
-Warning: overflow
---------------------
--2
--32767
-Warning: overflow
---------------------
--2
--257
-514
---------------------
--2
--256
-512
---------------------
--2
--255
-510
---------------------
--2
--217
-434
---------------------
--2
--151
-302
---------------------
--2
--128
-256
---------------------
--2
--127
-254
---------------------
--2
--2
-4
---------------------
--2
--1
-2
---------------------
--1
-0
-0
---------------------
--1
-1
--1
---------------------
--1
-2
--2
---------------------
--1
-127
--127
---------------------
--1
-128
--128
---------------------
--1
-151
--151
---------------------
--1
-217
--217
---------------------
--1
-255
--255
---------------------
--1
-256
--256
---------------------
--1
-257
--257
---------------------
--1
-32767
--32767
---------------------
--1
--32768
-Warning: overflow
---------------------
--1
--32767
-32767
---------------------
--1
--257
-257
---------------------
--1
--256
-256
---------------------
--1
--255
-255
---------------------
--1
--217
-217
---------------------
--1
--151
-151
---------------------
--1
--128
-128
---------------------
--1
--127
-127
---------------------
--1
--2
-2
---------------------
--1
--1
-1
---------------------
+++ /dev/null
-include ../CMD.mk # YACASL2DIR, CASL2
-CASL2FLAG = -M640
-ASDIR = $(YACASL2DIR)/as/FUNC
-ASFILE = $(ASDIR)/mula_call.casl $(ASDIR)/mula1.casl $(ASDIR)/outa.casl
-COMET2FLAG = -M640
-CMD = $(COMET2) $(COMET2FLAG) $(OBJFILE)
-include ../TEST.mk
+++ /dev/null
-include ../CMD.mk # YACASL2DIR, CASL2
-ASDIR = $(YACASL2DIR)/as/CMD
-ASFILE = $(ASDIR)/svc2_out.casl
-include ../TEST.mk
INCLUDE = ../../../include
CC = gcc
CFLAGS = -g -Wall -I $(INCLUDE)
-COMMONSRC = $(SRCDIR)/word.c $(SRCDIR)/struct.c $(SRCDIR)/hash.c $(SRCDIR)/cmd.c $(SRCDIR)/cerr.c
-ASSRC = $(SRCDIR)/assemble.c $(SRCDIR)/token.c $(SRCDIR)/label.c $(SRCDIR)/macro.c
-EXECSRC = $(SRCDIR)/exec.c $(SRCDIR)/dump.c
+COMMONSRC = $(SRCDIR)/word.o $(SRCDIR)/struct.o $(SRCDIR)/hash.o $(SRCDIR)/cmd.o $(SRCDIR)/cerr.o
+ASSRC = $(SRCDIR)/assemble.o $(SRCDIR)/token.o $(SRCDIR)/label.o $(SRCDIR)/macro.o
+EXECSRC = $(SRCDIR)/exec.o $(SRCDIR)/dump.o
ifeq "$(UCLASS)" "AS"
SRC = $(COMMONSRC) $(ASSRC)
cleanall: clean
@rm -f 0.txt
a.out: $(SRC) $(TESTSRCFILE)
+ @make -C $(SRCDIR)
@gcc $(CFLAGS) $(SRC) $(TESTSRCFILE)
0.txt 1.txt: a.out
@./a.out >$@ 2>&1
}
return 0;
}
+
+/* エラー番号とエラーメッセージ */
+CERRARRAY cerr[] = {
+ { 101, "label already defined" },
+ { 102, "label table is full" },
+ { 103, "label not found" },
+ { 104, "label length is too long" },
+ { 105, "no command in the line" },
+ { 106, "operand count mismatch" },
+ { 107, "no label in START" },
+ { 108, "not command of operand \"r\"" },
+ { 109, "not command of operand \"r1,r2\"" },
+ { 110, "not command of operand \"r,adr[,x]\"" },
+ { 111, "not command of operand \"adr[,x]\"" },
+ { 112, "not command of no operand" },
+ { 113, "command not defined" },
+ { 114, "not integer" },
+ { 115, "not hex" },
+ { 116, "out of hex range" },
+ { 117, "operand is too many" },
+ { 118, "operand length is too long" },
+ { 119, "out of COMET II memory" },
+ { 120, "GR0 in operand x" },
+ { 121, "cannot get operand token" },
+ { 122, "cannot create hash table" },
+ { 123, "illegal string" },
+ { 124, "more than one character in literal" },
+ { 201, "execute - out of COMET II memory" },
+ { 202, "SVC input - out of Input memory" },
+ { 203, "SVC output - out of COMET II memory" },
+ { 204, "Program Register (PR) - out of COMET II memory" },
+ { 205, "Stack Pointer (SP) - cannot allocate stack buffer" },
+ { 206, "Address - out of COMET II memory" },
+ { 207, "Stack Pointer (SP) - out of COMET II memory" },
+ { 0, NULL },
+};
#include "casl2.h"
-int main(){
+#include "cerr.h"
+
+int main()
+{
puts("== CODE_TYPE TABLE ==");
create_code_type();
print_code_type();
}
return 0;
}
+
+/* エラー番号とエラーメッセージ */
+CERRARRAY cerr[] = {
+ { 101, "label already defined" },
+ { 102, "label table is full" },
+ { 103, "label not found" },
+ { 104, "label length is too long" },
+ { 105, "no command in the line" },
+ { 106, "operand count mismatch" },
+ { 107, "no label in START" },
+ { 108, "not command of operand \"r\"" },
+ { 109, "not command of operand \"r1,r2\"" },
+ { 110, "not command of operand \"r,adr[,x]\"" },
+ { 111, "not command of operand \"adr[,x]\"" },
+ { 112, "not command of no operand" },
+ { 113, "command not defined" },
+ { 114, "not integer" },
+ { 115, "not hex" },
+ { 116, "out of hex range" },
+ { 117, "operand is too many" },
+ { 118, "operand length is too long" },
+ { 119, "out of COMET II memory" },
+ { 120, "GR0 in operand x" },
+ { 121, "cannot get operand token" },
+ { 122, "cannot create hash table" },
+ { 123, "illegal string" },
+ { 124, "more than one character in literal" },
+ { 201, "execute - out of COMET II memory" },
+ { 202, "SVC input - out of Input memory" },
+ { 203, "SVC output - out of COMET II memory" },
+ { 204, "Program Register (PR) - out of COMET II memory" },
+ { 205, "Stack Pointer (SP) - cannot allocate stack buffer" },
+ { 206, "Address - out of COMET II memory" },
+ { 207, "Stack Pointer (SP) - out of COMET II memory" },
+ { 0, NULL },
+};