X-Git-Url: http://j8takagi.net/cgi-bin/gitweb.cgi?p=YACASL2.git;a=blobdiff_plain;f=doc%2Fyacasl2.html;h=5617de37750fd098d160208bda22b37699747e2e;hp=3a486fec18248a57f609661a55658724837f3abc;hb=b838ea73f37c8d8623aee6c3ebe36732d8858030;hpb=a624efdf4ae3a309dd991ec148eaa4c4ec565b93 diff --git a/doc/yacasl2.html b/doc/yacasl2.html index 3a486fe..5617de3 100644 --- a/doc/yacasl2.html +++ b/doc/yacasl2.html @@ -1218,8 +1218,8 @@ MAIN START A DC -1 END -
$ casl2 call_abs.casl $CASL2LIBDIR/abs.casl $CASL2LIBDIR/outa.casl \
-  $CASL2LIBDIR/divl.casl $CASL2LIBDIR/rev.casl
+ 
$ casl2 call_abs.casl $CASL2LIB/abs.casl $CASL2LIB/outa.casl \
+  $CASL2LIB/divl.casl $CASL2LIB/rev.casl
 1
 
@@ -1291,8 +1291,8 @@ EMSG DC 'error' ELEN DC 5 END
-
$ casl2 call_diva.casl $CASL2LIBDIR/diva.casl $CASL2LIBDIR/divl.casl \
-  $CASL2LIBDIR/outa.casl $CASL2LIBDIR/abs.casl $CASL2LIBDIR/rev.casl
+ 
$ casl2 call_diva.casl $CASL2LIB/diva.casl $CASL2LIB/divl.casl \
+  $CASL2LIB/outa.casl $CASL2LIB/abs.casl $CASL2LIB/rev.casl
 -128
 -127
 
@@ -1356,8 +1356,8 @@ EMSG DC 'error' ELEN DC 5 END
-
$ casl2 call_divl.casl $CASL2LIBDIR/divl.casl $CASL2LIBDIR/outl.casl \
-  $CASL2LIBDIR/rev.casl
+ 
$ casl2 call_divl.casl $CASL2LIB/divl.casl $CASL2LIB/outl.casl \
+  $CASL2LIB/rev.casl
 256
 254
 
@@ -1396,29 +1396,37 @@ Up: CASL2LIB Manual

使用例

-
;; CASL2LIB > DIVLを呼び出し、65534 / 255 の商と剰余を表示
+ 

次のコマンドを実行すると、数値の入力が受け付けられ、入力された数値が表示される。 + +

;;; 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
-BEGIN   LD      GR1,A
-        LD      GR2,B
-        CALL    DIVL
-        JOV     ERR
-        LD      GR1,GR0
-        CALL    OUTL
-        LD      GR1,GR3
+LOOP    CALL    INL             ; GR1に数値、GR0に文字列の長さ
+        JOV     OV
+        AND     GR0,GR0
+        JZE     FIN
+        CPL     GR0,=#FFFF
+        JZE     NAN
         CALL    OUTL
-        JUMP    FIN        
-ERR     OUT     EMSG,ELEN
+        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
-A       DC      65534
-B       DC      255
-EMSG    DC      'error'
-ELEN	DC	5
+OVMSG   DC      'Over 65535'
+MLEN1   DC      10
+NANMSG  DC      'Not integer'
+MLEN2   DC      11
+LENOVMSG DC     'Str too long. Stop'
+MLEN3   DC      18
         END
 
-
$ casl2 call_divl.casl $CASL2LIBDIR/divl.casl $CASL2LIBDIR/outl.casl \
-  $CASL2LIBDIR/rev.casl
-256
-254
+ 
$ casl2 -M1024 call_inl.casl $CASL2LIB/inl.casl $CASL2LIB/str2l.casl $CASL2LIB/mull.casl \
+  $CASL2LIB/outl.casl $CASL2LIB/divl.casl $CASL2LIB/rev.casl