+++ /dev/null
-../as/casl2lib/
\ No newline at end of file
--- /dev/null
+../../test/template/Define.mk
\ No newline at end of file
--- /dev/null
+../../test/template/Group.mk
\ No newline at end of file
--- /dev/null
+../../test/template/Test.mk
\ No newline at end of file
--- /dev/null
+include ../Define.mk
+include ../Test.mk
--- /dev/null
+;;; CASL2LIB > ABSを呼び出し、-1の絶対値を表示
+MAIN START
+ LD GR1,A
+ CALL ABS
+ CALL OUTA
+ RET
+A DC -1
+ END
--- /dev/null
+PATH=../../..:$PATH
+CASL2LIBDIR=../../../as/casl2lib
+casl2 call_abs.casl $CASL2LIBDIR/abs.casl $CASL2LIBDIR/outa.casl $CASL2LIBDIR/divl.casl $CASL2LIBDIR/rev.casl
--- /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
+4
+9
--- /dev/null
+include ../Define.mk
+include ../Test.mk
--- /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
+PATH=../../..:$PATH
+CASL2LIBDIR=../../../as/casl2lib
+cat call_addl32.casl && casl2 call_addl32.casl $CASL2LIBDIR/addl32.casl $CASL2LIBDIR/divl.casl $CASL2LIBDIR/rev.casl $CASL2LIBDIR/outl.casl
--- /dev/null
+-128
+-127
--- /dev/null
+include ../Define.mk
+include ../Test.mk
--- /dev/null
+;; CASL2LIB > DIVAを呼び出し、-32767 / 255 の商と剰余を表示
+MAIN START
+BEGIN LD GR1,A
+ LD GR2,B
+ CALL DIVA
+ JOV ERR
+ LD GR1,GR0
+ CALL OUTA
+ LD GR1,GR3
+ CALL OUTA
+ JUMP FIN
+ERR OUT EMSG,ELEN
+FIN RET
+A DC -32767
+B DC 255
+EMSG DC 'error'
+ELEN DC 5
+ END
--- /dev/null
+PATH=../../..:$PATH
+CASL2LIBDIR=../../../as/casl2lib
+casl2 call_diva.casl $CASL2LIBDIR/diva.casl $CASL2LIBDIR/divl.casl $CASL2LIBDIR/outa.casl $CASL2LIBDIR/abs.casl $CASL2LIBDIR/rev.casl
--- /dev/null
+include ../Define.mk
+include ../Test.mk
--- /dev/null
+;; CASL2LIB > DIVLを呼び出し、65534 / 255 の商と剰余を表示
+MAIN START
+BEGIN LD GR1,A
+ LD GR2,B
+ CALL DIVL
+ JOV ERR
+ LD GR1,GR0
+ CALL OUTL
+ LD GR1,GR3
+ CALL OUTL
+ JUMP FIN
+ERR OUT EMSG,ELEN
+FIN RET
+A DC 65534
+B DC 255
+EMSG DC 'error'
+ELEN DC 5
+ END
--- /dev/null
+PATH=../../..:$PATH
+CASL2LIBDIR=../../../as/casl2lib
+casl2 call_divl.casl $CASL2LIBDIR/divl.casl $CASL2LIBDIR/outl.casl $CASL2LIBDIR/rev.casl
--- /dev/null
+0
+1
+2
+10
+12
+32767
+32768
+65535
+Over 65535
+Over 65535
+Not integer
+Not integer
+12345
+Str too long. Stop
--- /dev/null
+include ../Define.mk
+include ../Test.mk
--- /dev/null
+;;; casl2 -M1024 call_inl.casl $CASL2LIB/inl.casl $CASL2LIB/str2l.casl $CASL2LIB/mull.casl \
+;;; $CASL2LIB/outl.casl $CASL2LIB/divl.casl $CASL2LIB/rev.casl
+MAIN START
+LOOP CALL INL ; GR1に数値、GR0に文字列の長さ
+ JOV OV
+ AND GR0,GR0
+ JZE FIN
+ CPL GR0,=#FFFF
+ JZE NAN
+ CALL OUTL
+ JUMP LOOP
+OV CPL GR0,=#FFFF
+ JZE LENOV
+ OUT OVMSG,MLEN1
+ JUMP LOOP
+NAN OUT NANMSG,MLEN2
+ JUMP LOOP
+LENOV OUT LENOVMSG,MLEN3
+FIN RET
+OVMSG DC 'Over 65535'
+MLEN1 DC 10
+NANMSG DC 'Not integer'
+MLEN2 DC 11
+LENOVMSG DC 'Str too long. Stop'
+MLEN3 DC 18
+ END
--- /dev/null
+PATH=../../..:$PATH
+CASL2LIBDIR=../../../as/casl2lib
+casl2 -M 720 call_inl.casl $CASL2LIBDIR/inl.casl $CASL2LIBDIR/outl.casl $CASL2LIBDIR/str2l.casl $CASL2LIBDIR/divl.casl $CASL2LIBDIR/rev.casl $CASL2LIBDIR/mull.casl <in.txt
--- /dev/null
+0
+1
+2
+10
+12
+32767
+32768
+65535
+65536
+90000
+-1
+NOTNU
+12345
+100000
+1234