From: j8takagi <j8takagi@nifty.com> Date: Thu, 22 Nov 2012 01:17:46 +0000 (+0900) Subject: PBMファイル出力機能を追加 X-Git-Tag: v0.2p6~4 X-Git-Url: http://www.j8takagi.net/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e46d8634095f166ac28f03b17a8e0676e6c275a0;p=YACASL2.git PBMファイル出力機能を追加 --- diff --git a/as/app/pbm/.gitignore b/as/app/pbm/.gitignore new file mode 100644 index 0000000..a4195d0 --- /dev/null +++ b/as/app/pbm/.gitignore @@ -0,0 +1 @@ +*.pbm diff --git a/as/app/pbm/call_outpbm.casl b/as/app/pbm/call_outpbm.casl new file mode 100644 index 0000000..35d3d0e --- /dev/null +++ b/as/app/pbm/call_outpbm.casl @@ -0,0 +1,5 @@ +MAIN START + LAD GR2,16 + LAD GR3,16 + CALL OUTPBM + END diff --git a/as/app/pbm/call_pbm16.casl b/as/app/pbm/call_pbm16.casl new file mode 100644 index 0000000..4846fbd --- /dev/null +++ b/as/app/pbm/call_pbm16.casl @@ -0,0 +1,21 @@ +MAIN START + LAD GR1,GRAPH + CALL PBM16 + RET +GRAPH DC #FFFC + DC #FFFC + DC #FFFC + DC #0700 + DC #0700 + DC #0700 + DC #FFFC + DC #FFFC + DC #FFFC + DC #071C + DC #071C + DC #071C + DC #FFFF + DC #FFFF + DC #FFFF + DC #0000 + END diff --git a/as/app/pbm/call_rotate.casl b/as/app/pbm/call_rotate.casl new file mode 100644 index 0000000..322fd31 --- /dev/null +++ b/as/app/pbm/call_rotate.casl @@ -0,0 +1,32 @@ +;;; casl2 call_rotate.casl ../../casl2lib/outb_w.casl ../../casl2lib/divl.casl ../../casl2lib/rev.casl rotate.casl | cat 16_16.pbm - >five_rot.pbm +MAIN START + LAD GR1,ORG + LAD GR2,RES + CALL ROTATE + LAD GR2,0 +LOOP LD GR1,RES,GR2 + CALL OUTB + LAD GR2,1,GR2 + CPA GR2,HEIGHT + JZE FIN + JUMP LOOP +FIN RET +ORG DC #FFFC + DC #FFFC + DC #FFFC + DC #0700 + DC #0700 + DC #0700 + DC #FFFC + DC #FFFC + DC #FFFC + DC #071C + DC #071C + DC #071C + DC #FFFF + DC #FFFF + DC #FFFF + DC #0000 +HEIGHT DC 16 +RES DS 16 + END diff --git a/as/app/pbm/call_rotate3.casl b/as/app/pbm/call_rotate3.casl new file mode 100644 index 0000000..67a2a4c --- /dev/null +++ b/as/app/pbm/call_rotate3.casl @@ -0,0 +1,33 @@ +;;; casl2 call_rotate3.casl ../../casl2lib/outb_w.casl ../../casl2lib/divl.casl ../../casl2lib/rev.casl rotate3.casl | cat 16_16.pbm - >five_rot3.pbm +MAIN START + LAD GR1,ORG + LAD GR2,RES + LAD GR3,8 + CALL ROTATE + LAD GR2,0 +LOOP LD GR1,RES,GR2 + CALL OUTB + LAD GR2,1,GR2 + CPA GR2,HEIGHT + JZE FIN + JUMP LOOP +FIN RET +ORG DC #FFFC + DC #FFFC + DC #FFFC + DC #0700 + DC #0700 + DC #0700 + DC #FFFC + DC #FFFC + DC #FFFC + DC #071C + DC #071C + DC #071C + DC #FFFF + DC #FFFF + DC #FFFF + DC #0000 +HEIGHT DC 16 +RES DS 16 + END diff --git a/as/app/pbm/five.casl b/as/app/pbm/five.casl new file mode 100644 index 0000000..74d9d0e --- /dev/null +++ b/as/app/pbm/five.casl @@ -0,0 +1,28 @@ +;;; casl2 outl_call.casl outl.casl +MAIN START + LAD GR2,0 +LOOP LD GR1,VAL,GR2 + CALL OUTB + LAD GR2,1,GR2 + CPA GR2,HEIGHT + JZE FIN + JUMP LOOP +FIN RET +VAL DC #FFFC + DC #FFFC + DC #FFFC + DC #0700 + DC #0700 + DC #0700 + DC #FFFC + DC #FFFC + DC #FFFC + DC #071C + DC #071C + DC #071C + DC #FFFF + DC #FFFF + DC #FFFF + DC #0000 +HEIGHT DC 16 + END diff --git a/as/app/pbm/pbm16.casl b/as/app/pbm/pbm16.casl new file mode 100644 index 0000000..2b9404a --- /dev/null +++ b/as/app/pbm/pbm16.casl @@ -0,0 +1,31 @@ +;;; PBM16 +;;; GR1ã§æå®ãããã¢ãã¬ã¹ä»¥éã®ã¡ã¢ãªã 16Ã16 ã® +;;; ç½é»ããããããç»åãã¼ã¿ï¼ç½:0 é»:1ï¼ã¨ã¿ãªãã +;;; PBMç»åãã¡ã¤ã«ã¨ãã¦åºå +;;; å ¥å: GR1 ç»åãã¼ã¿ã®å é ã¢ãã¬ã¹ +;;; ä¾åå¯ããã°ã©ã : outl.casl +PBM16 START + PUSH 0,GR1 + PUSH 0,GR2 + ST GR1,BEG + OUT L1,L1LEN + OUT L2,L2LEN + XOR GR2,GR2 +LOOP CPL GR2,HEIGHT + JZE FIN + LD GR1,BEG + ADDL GR1,GR2 + LD GR1,0,GR1 + CALL OUTB + LAD GR2,1,GR2 + JUMP LOOP +FIN POP GR2 + POP GR1 + RET +L1 DC 'P1' +L1LEN DC 2 +L2 DC '16 16' +L2LEN DC 5 +HEIGHT DC 16 +BEG DS 1 + END diff --git a/as/app/pbm/rotate.casl b/as/app/pbm/rotate.casl new file mode 100644 index 0000000..4d24664 --- /dev/null +++ b/as/app/pbm/rotate.casl @@ -0,0 +1,29 @@ +;; å¯ããã°ã©ã ROTATE +;; é£ç¶ãã16èªã«æ ¼ç´ãã16 à 16 ãããã®ç½é»ã®å³å½¢ãï¼æè¨åãã«90度å転ãã +;; 1ãããã1ãããã§è¡¨ãï¼ç½ã¯0ï¼é»ã¯1ãæ ¼ç´ããã¦ããã +;; 1. å³å½¢ã表ã 16 èªã®å é ã¢ãã¬ã¹ã¯ GR1 ã«è¨å®ããã¦ï¼ä¸»ããã°ã©ã ããæ¸¡ãããã +;; 2. å転ããçµæã®å³å½¢ãæ ¼ç´ããé åã®å é ã¢ãã¬ã¹ã¯ GR2 ã«è¨å®ããã¦ï¼ 主ããã°ã©ã ããæ¸¡ãããã +;; 3. å ã®å³å½¢ã¨å転ããå³å½¢ã¯ï¼ç°ãªãé åã«æ ¼ç´ãããã +;; 4. å¯ããã°ã©ã ããæ»ãã¨ãï¼æ±ç¨ã¬ã¸ã¹ã¿ GR1 ï½ GR7 ã®å 容ã¯å ã«æ»ãã +ROTATE START + RPUSH + LD GR3,=16 +LOOP1 LD GR4,=16 + LD GR5,GR2 ; GR5 â çµæã®é åã®ã¢ãã¬ã¹ + LD GR6,0,GR1 ; GR6 â å ã®å³å½¢ã®å é èªã®å 容 +LOOP2 LD GR7,0,GR5 ; GR7 â çµæã®é åã®1èªã®å 容 + SRL GR7,1 + SLL GR6,1 + JOV ON + JUMP CONT +ON OR GR7,=#8000 +CONT ST GR7,0,GR5 ; å¦çãã1èªãçµæã®é åã«æ ¼ç´ + LAD GR5,1,GR5 + SUBA GR4,=1 + JNZ LOOP2 + LAD GR1,1,GR1 + SUBA GR3,=1 + JNZ LOOP1 + RPOP + RET + END diff --git a/as/app/pbm/rotate2.casl b/as/app/pbm/rotate2.casl new file mode 100644 index 0000000..a647c83 --- /dev/null +++ b/as/app/pbm/rotate2.casl @@ -0,0 +1,29 @@ +;; å¯ããã°ã©ã ROTATE +;; é£ç¶ãã16èªã«æ ¼ç´ãã16 à 16 ãããã®ç½é»ã®å³å½¢ãï¼æè¨åãã«90度å転ãã +;; 1ãããã1ãããã§è¡¨ãï¼ç½ã¯0ï¼é»ã¯1ãæ ¼ç´ããã¦ããã +;; 1. å³å½¢ã表ã 16 èªã®å é ã¢ãã¬ã¹ã¯ GR1 ã«è¨å®ããã¦ï¼ä¸»ããã°ã©ã ããæ¸¡ãããã +;; 2. å転ããçµæã®å³å½¢ãæ ¼ç´ããé åã®å é ã¢ãã¬ã¹ã¯ GR2 ã«è¨å®ããã¦ï¼ 主ããã°ã©ã ããæ¸¡ãããã +;; 3. å ã®å³å½¢ã¨å転ããå³å½¢ã¯ï¼ç°ãªãé åã«æ ¼ç´ãããã +;; 4. å¯ããã°ã©ã ããæ»ãã¨ãï¼æ±ç¨ã¬ã¸ã¹ã¿ GR1 ï½ GR7 ã®å 容ã¯å ã«æ»ãã +ROTATE START + RPUSH + LD GR3,=16 +LOOP1 LD GR4,=16 + LD GR5,GR2 ; GR5 â çµæã®é åã®ã¢ãã¬ã¹ + LD GR6,0,GR1 ; GR6 â å ã®å³å½¢ã®å é èªã®å 容 +LOOP2 LD GR7,0,GR5 ; GR7 â çµæã®é åã®1èªã®å 容 + SRL GR7,1 + SRL GR6,1 + JOV ON + JUMP CONT +ON OR GR7,=#8000 +CONT ST GR7,0,GR5 ; å¦çãã1èªãçµæã®é åã«æ ¼ç´ + LAD GR5,1,GR5 + SUBA GR4,=1 + JNZ LOOP2 + LAD GR1,1,GR1 + SUBA GR3,=1 + JNZ LOOP1 + RPOP + RET + END diff --git a/as/app/pbm/rotate3.casl b/as/app/pbm/rotate3.casl new file mode 100644 index 0000000..b40ad07 --- /dev/null +++ b/as/app/pbm/rotate3.casl @@ -0,0 +1,50 @@ +;; å¯ããã°ã©ã ROTATE +;; 16 à 16 ãããã®å³å½¢ã®ãã¡ å·¦ä¸ã® n à n ãããã®é¨åã ããæè¨åãã«90度å転ãã +;; 1ãããã1ãããã§è¡¨ãï¼ç½ã¯0ï¼é»ã¯1ãæ ¼ç´ããã¦ããã +;; å¤ n ï¼ 1 <= n <= 16 ï¼ã¯ GR3 ã«è¨å®ããã¦ä¸»ããã°ã©ã ããæ¸¡ãããã +;; 1. å³å½¢ã表ã 16 èªã®å é ã¢ãã¬ã¹ã¯ GR1 ã«è¨å®ããã¦ï¼ä¸»ããã°ã©ã ããæ¸¡ãããã +;; 2. å転ããçµæã®å³å½¢ãæ ¼ç´ããé åã®å é ã¢ãã¬ã¹ã¯ GR2 ã«è¨å®ããã¦ï¼ 主ããã°ã©ã ããæ¸¡ãããã +;; 3. å ã®å³å½¢ã¨å転ããå³å½¢ã¯ï¼ç°ãªãé åã«æ ¼ç´ãããã +;; 4. å¯ããã°ã©ã ããæ»ãã¨ãï¼æ±ç¨ã¬ã¸ã¹ã¿ GR1 ï½ GR7 ã®å 容ã¯å ã«æ»ãã +ROTATE START + RPUSH + ST GR3,N ; nãä¿å + LD GR4,GR3 ; GR4 â n + LD GR5,GR1 ; GR5 â å ã®å³å½¢ã®ã¢ãã¬ã¹ + LD GR6,GR2 ; GR6 â çµæã®é åã®ã¢ãã¬ã¹ + LD GR7,=16 + SUBA GR7,GR3 ; GR7 â 16-n +SHIFT LD GR0,0,GR5 ; GR0 â å ã®å³å½¢ã®1èªã®å 容 + SLL GR0,0,GR3 + ST GR0,0,GR6 ; çµæã®é å â GR0 + LAD GR5,1,GR5 ; å ã®å³å½¢ã®1èªã®ã¢ãã¬ã¹æ´æ° + LAD GR6,1,GR6 ; çµæã®é åã®1èªã®ã¢ãã¬ã¹æ´æ° + SUBA GR4,=1 ; nèªå¦çæ¸ã¿ï¼ + JNZ SHIFT +COPY SUBA GR7,=1 ; æ®ãã®èªã®å 容ãçµæã®é åã«è¤å + JMI LOOP1 + LD GR0,0,GR5 + ST GR0,0,GR6 + LAD GR5,1,GR5 + LAD GR6,1,GR6 + JUMP COPY +N DS 1 +LOOP1 LD GR4,N + LD GR5,GR2 ; GR5 â çµæã®é åã®ã¢ãã¬ã¹ + LD GR6,0,GR1 ; GR6 â å ã®å³å½¢ã®å é èªã®å 容 +LOOP2 LD GR7,0,GR5 ; GR7 â çµæã®é åã®1èªã®å 容 + SRL GR7,1 + SRL GR6,1 + JOV ON + JUMP CONT +ON OR GR7,=#8000 +CONT ST GR7,0,GR5 ; å¦çãã1èªãçµæã®é åã«æ ¼ç´ + LAD GR5,1,GR5 + SUBA GR4,=1 + JNZ LOOP2 + LAD GR1,1,GR1 + SUBA GR3,=1 + JNZ LOOP1 + RPOP + RET + END diff --git a/as/casl2lib/outb_w.casl b/as/casl2lib/outb_w.casl new file mode 100644 index 0000000..d64bff6 --- /dev/null +++ b/as/casl2lib/outb_w.casl @@ -0,0 +1,43 @@ +;;; GR1ã«æ ¼ç´ãããå¤ãã空ç½ä»ãã®2鲿°å¤ã¨ãã¦è¡¨ç¤º +OUTB START + RPUSH + LD GR2,BIN ; GR2ã«2鲿°ã®ã2ããæ ¼ç´ã + XOR GR4,GR4 ; GR4: 2鲿°å¤ã®é·ã +STI CPL GR1,GR2 ; ã«ã¼ãå é ã(GR1 < GR2)ã®å ´åã¯ãã«ã¼ãè±åº + JMI STLST ; â + CALL DIVL ; GR1ã¨GR2ã®ãåãGR0ãå°ä½ãGR3ã«æ ¼ç´ + LD GR1,GR3 ; GR1ã«GR3ãã³ãã¼ + LD GR1,NCHAR,GR1 ; GR1ãæåã«å¤æ + ST GR1,STR,GR4 ; (STR + GR4) <- GR1 + LAD GR4,1,GR4 ; GR4 <- GR4 + 1 + LD GR1,SPC ; GR1 <- SPC + ST GR1,STR,GR4 ; (STR + GR4) <- GR1 + LAD GR4,1,GR4 ; GR4 <- GR4 + 1 + LD GR1,GR0 ; GR0ãGR1ã«ã³ãã¼ + JUMP STI ; ã«ã¼ãçµç«¯ +STLST LD GR1,NCHAR,GR1 ; GR1ãæåã«å¤æ + ST GR1,STR,GR4 ; (STR + GR4) <- GR1 + LAD GR4,1,GR4 ; GR4 <- GR4 + 1 +EMLOOP CPL GR4,DIG ; ã«ã¼ãå é ã(GR4 = DIG)ã®å ´åã¯ãã«ã¼ãè±åº + JZE PRT ; â + LD GR1,SPC ; GR1 <- SPC + ST GR1,STR,GR4 ; (STR + GR4) <- GR1 + LAD GR4,1,GR4 ; GR4 <- GR4 + 1 + LD GR1,NCHAR ; GR1 <- NCHAR:'0' + ST GR1,STR,GR4 ; (STR + GR4) <- GR1 + LAD GR4,1,GR4 ; GR4 <- GR4 + 1 + JUMP EMLOOP ; ã«ã¼ãçµç«¯ +PRT ST GR4,LEN ; LEN <- GR4 + LD GR2,LEN ; GR2ã«LENã®å¤ãæ ¼ç´ + LAD GR1,STR ; GR1ã«æååã®ã¢ãã¬ã¹ãæ ¼ç´ + CALL REV ; æååãéé ã«ä¸¦ã¹æ¿ã + OUT STR,LEN ; æååãåºå + RPOP + RET +STR DS 32 +LEN DS 1 +BIN DC 2 +NCHAR DC '01' +SPC DC ' ' +DIG DC 31 + END diff --git a/as/casl2lib/outpbm.casl b/as/casl2lib/outpbm.casl new file mode 100644 index 0000000..70803c3 --- /dev/null +++ b/as/casl2lib/outpbm.casl @@ -0,0 +1,36 @@ +;;; PBMç»åãã¡ã¤ã«ãåºå +;;; GR1: ç»åãããåã®å é ã¢ãã¬ã¹ +;;; GR2: ç»åã®å¹ +;;; GR3: ç»åã®é«ã +OUTPBM START + OUT HEADER,HLEN + PUSH 0,GR1 + PUSH 0,GR2 + PUSH 0,GR3 + PUSH 0,GR4 + XOR GR4,GR4 + LD GR1,GR2 + LAD GR2,WIDTH + CALL L2STR + LD GR4,GR0 + LAD GR4,1,GR4 + LD GR1,SPC + ST GR1,WIDTH,GR4 + LAD GR4,1,GR4 + LD GR1,GR3 + LAD GR2,WIDTH,GR4 + CALL L2STR + ADDL GR4,GR0 + ST GR4,WHLEN + OUT WIDTH,WHLEN + POP GR4 + POP GR3 + POP GR2 + POP GR1 + RET +HEADER DC 'P1' +HLEN DC 2 +WIDTH DS 32 +SPC DC ' ' +HEIGHT DS 1 +WHLEN DS 1 diff --git a/as/fe_tests/2011_06/Q12.txt b/as/fe_tests/2011_06/Q12.txt new file mode 100644 index 0000000..fef9a99 --- /dev/null +++ b/as/fe_tests/2011_06/Q12.txt @@ -0,0 +1,14 @@ +次ã®ã¢ã»ã³ãã©ããã°ã©ã ã®èª¬æåã³ããã°ã©ã ãèªãã§ï¼è¨åï¼ï½ï¼ã«çããã + +ãããã°ã©ã ï¼ã®èª¬æã + +ãé£ç¶ãã 16 èªã«æ ¼ç´ãã 16 à 16 ãããã®ç½é»ã®å³å½¢ãï¼æè¨åãã« 90 度å転ãã å¯ããã°ã©ã ROTATE ã§ãããå³å½¢ã®å転ã®å®è¡ä¾ãå³ï¼ã«ç¤ºãããã®ã¨ãï¼ï¼ããããï¼ããã㧠表ãï¼ç½ã¯ï¼ï¼é»ã¯ï¼ãæ ¼ç´ããã¦ããã + +(1) å³å½¢ã表ã 16 èªã®å é ã¢ãã¬ã¹ã¯ GR1 ã«è¨å®ããã¦ï¼ä¸»ããã°ã©ã ããæ¸¡ãããã + +(2) å転ããçµæã®å³å½¢ãæ ¼ç´ããé åã®å é ã¢ãã¬ã¹ã¯ GR2 ã«è¨å®ããã¦ï¼ 主ããã°ã©ã ããæ¸¡ãããã + +(3) å ã®å³å½¢ã¨å転ããå³å½¢ã¯ï¼ç°ãªãé åã«æ ¼ç´ãããã + +(4) å¯ããã°ã©ã ããæ»ãã¨ãï¼æ±ç¨ã¬ã¸ã¹ã¿ GR1 ï½ GR7 ã®å 容ã¯å ã«æ»ãã + diff --git a/as/fe_tests/2011_06/call_rotate.casl b/as/fe_tests/2011_06/call_rotate.casl new file mode 100644 index 0000000..375e5db --- /dev/null +++ b/as/fe_tests/2011_06/call_rotate.casl @@ -0,0 +1,5 @@ + MAIN START + RPUSH + LD GR1,ORG + LAD GR2,RES +ORG DC #FC,#FC,#FC,#70,#70,#70,#FC,#FC,#FC, diff --git a/as/fe_tests/2011_06/rotate.casl b/as/fe_tests/2011_06/rotate.casl new file mode 100644 index 0000000..6d33995 --- /dev/null +++ b/as/fe_tests/2011_06/rotate.casl @@ -0,0 +1,22 @@ + ROTATE START + RPUSH + LD GR3,=16 +LOOP1 LD GR4,=16 + LD GR5,GR2 ; GR5 â çµæã®é åã®ã¢ãã¬ã¹ + LD GR6,0,GR1 ; GR6 â å ã®å³å½¢ã®å é èªã®å 容 +LOOP2 LD GR7,0,GR5 ; GR7 â çµæã®é åã®1èªã®å 容 + SRL GR7,1 + SLL GR6,1 + JOV ON + JUMP CONT +ON OR GR7,=#8000 +CONT ST GR7,0,GR5 ; å¦çãã1èªãçµæã®é åã«æ ¼ç´ + LAD GR5,1,GR5 + SUBA GR4,=1 + JNZ LOOP2 + LAD GR1,1,GR1 + SUBA GR3,=1 + JNZ LOOP1 + RPOP + RET + END diff --git a/test/system/casl2/lib_outb_w/0.txt b/test/system/casl2/lib_outb_w/0.txt new file mode 100644 index 0000000..028cc06 --- /dev/null +++ b/test/system/casl2/lib_outb_w/0.txt @@ -0,0 +1,34 @@ +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 +1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 +1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 +1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 +1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 +1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 diff --git a/test/system/casl2/lib_outb_w/Makefile b/test/system/casl2/lib_outb_w/Makefile new file mode 100644 index 0000000..b6dac59 --- /dev/null +++ b/test/system/casl2/lib_outb_w/Makefile @@ -0,0 +1,2 @@ +include ../Define.mk +include ../Test.mk diff --git a/test/system/casl2/lib_outb_w/cmd b/test/system/casl2/lib_outb_w/cmd new file mode 100755 index 0000000..1ad83b2 --- /dev/null +++ b/test/system/casl2/lib_outb_w/cmd @@ -0,0 +1 @@ +../../../../casl2 outb_w.casl ../../../../as/casl2lib/outb_w.casl ../../../../as/casl2lib/divl.casl ../../../../as/casl2lib/rev.casl diff --git a/test/system/casl2/lib_outb_w/cmd0 b/test/system/casl2/lib_outb_w/cmd0 new file mode 100755 index 0000000..f153b05 --- /dev/null +++ b/test/system/casl2/lib_outb_w/cmd0 @@ -0,0 +1 @@ +../../../../casl2 outb_w0.casl ../../../../as/casl2lib/outb_w.casl ../../../../as/casl2lib/divl.casl ../../../../as/casl2lib/rev.casl diff --git a/test/system/casl2/lib_outb_w/outb_w.casl b/test/system/casl2/lib_outb_w/outb_w.casl new file mode 100644 index 0000000..9ba7189 --- /dev/null +++ b/test/system/casl2/lib_outb_w/outb_w.casl @@ -0,0 +1,22 @@ +;;; casl2 outb_call.casl outb.casl +MAIN START + LAD GR2,0 +LOOP LD GR1,VAL,GR2 + CALL OUTB + LAD GR2,1,GR2 + CPA GR2,CNT + JZE FIN + JUMP LOOP +FIN RET +VAL DC 0 + DC #0001,#0002,#0004,#0008 + DC #0010,#0020,#0040,#0080 + DC #0100,#0200,#0400,#0800 + DC #1000,#2000,#4000,#7FFF + DC #8000 + DC #8001,#C000,#E000,#F000 + DC #F800,#FC00,#FE00,#FF00 + DC #FF80,#FFC0,#FFE0,#FFF0 + DC #FFF8,#FFFC,#FFFE,#FFFF +CNT DC 34 + END diff --git a/test/system/casl2/lib_outb_w/outb_w0.casl b/test/system/casl2/lib_outb_w/outb_w0.casl new file mode 100644 index 0000000..ad8c17f --- /dev/null +++ b/test/system/casl2/lib_outb_w/outb_w0.casl @@ -0,0 +1,13 @@ +;;; casl2 outb_call.casl outb.casl +MAIN START + LAD GR2,0 +LOOP LD GR1,VAL,GR2 + CALL OUTB + LAD GR2,1,GR2 + CPA GR2,CNT + JZE FIN + JUMP LOOP +FIN RET +VAL DC #0001,#8000 +CNT DC 2 + END