From 8987c22715397eda101c25fb6ca1c37852db4adf Mon Sep 17 00:00:00 2001 From: j8takagi Date: Fri, 13 Jun 2014 11:24:52 +0900 Subject: [PATCH] =?utf8?q?PBM=E4=BD=9C=E6=88=90=E3=82=A2=E3=82=BB=E3=83=B3?= =?utf8?q?=E3=83=96=E3=83=AB=E3=83=97=E3=83=AD=E3=82=B0=E3=83=A9=E3=83=A0?= =?utf8?q?=E3=82=92=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- as/app/pbm/call_outpbm.casl | 5 - as/app/pbm/five.casl | 28 -- as/app/pbm/five.svg | 261 ++++++++++++++++++ as/app/pbm/five_ccw90_pbm.casl | 30 ++ .../{call_rotate.casl => five_cw90_pbm.casl} | 20 +- ...all_rotate3.casl => five_nn_part_pbm.casl} | 20 +- as/app/pbm/{call_pbm16.casl => five_pbm.casl} | 3 + .../pbm/{rotate2.casl => rotate_ccw90.casl} | 4 +- as/app/pbm/{rotate.casl => rotate_cw90.casl} | 0 .../pbm/{rotate3.casl => rotate_nn_part.casl} | 2 +- as/{app/pbm => casl2lib}/pbm16.casl | 2 +- 11 files changed, 316 insertions(+), 59 deletions(-) delete mode 100644 as/app/pbm/call_outpbm.casl delete mode 100644 as/app/pbm/five.casl create mode 100644 as/app/pbm/five.svg create mode 100644 as/app/pbm/five_ccw90_pbm.casl rename as/app/pbm/{call_rotate.casl => five_cw90_pbm.casl} (51%) rename as/app/pbm/{call_rotate3.casl => five_nn_part_pbm.casl} (52%) rename as/app/pbm/{call_pbm16.casl => five_pbm.casl} (69%) rename as/app/pbm/{rotate2.casl => rotate_ccw90.casl} (96%) rename as/app/pbm/{rotate.casl => rotate_cw90.casl} (100%) rename as/app/pbm/{rotate3.casl => rotate_nn_part.casl} (99%) rename as/{app/pbm => casl2lib}/pbm16.casl (92%) diff --git a/as/app/pbm/call_outpbm.casl b/as/app/pbm/call_outpbm.casl deleted file mode 100644 index 35d3d0e..0000000 --- a/as/app/pbm/call_outpbm.casl +++ /dev/null @@ -1,5 +0,0 @@ -MAIN START - LAD GR2,16 - LAD GR3,16 - CALL OUTPBM - END diff --git a/as/app/pbm/five.casl b/as/app/pbm/five.casl deleted file mode 100644 index 74d9d0e..0000000 --- a/as/app/pbm/five.casl +++ /dev/null @@ -1,28 +0,0 @@ -;;; 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/five.svg b/as/app/pbm/five.svg new file mode 100644 index 0000000..de0a9ba --- /dev/null +++ b/as/app/pbm/five.svg @@ -0,0 +1,261 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/as/app/pbm/five_ccw90_pbm.casl b/as/app/pbm/five_ccw90_pbm.casl new file mode 100644 index 0000000..c64d341 --- /dev/null +++ b/as/app/pbm/five_ccw90_pbm.casl @@ -0,0 +1,30 @@ +;;; 「五」を表す画像を反時計方向へ90度回転させた結果をPBMファイルとして出力する +;;; 呼び出し方: +;;; casl2 -M 1024 five_ccw90_pbm.casl $CASL2LIB/pbm16.casl $CASL2LIB/outb_w.casl $CASL2LIB/divl.casl $CASL2LIB/rev.casl rotate_ccw90.casl >five_ccw90.pbm +MAIN START + RPUSH + LAD GR1,GRAPH + LAD GR2,RES + CALL ROTATE + LAD GR1,RES + CALL PBM16 + RPOP +FIN 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 +RES DS 16 + END diff --git a/as/app/pbm/call_rotate.casl b/as/app/pbm/five_cw90_pbm.casl similarity index 51% rename from as/app/pbm/call_rotate.casl rename to as/app/pbm/five_cw90_pbm.casl index 322fd31..39d0e85 100644 --- a/as/app/pbm/call_rotate.casl +++ b/as/app/pbm/five_cw90_pbm.casl @@ -1,17 +1,16 @@ -;;; casl2 call_rotate.casl ../../casl2lib/outb_w.casl ../../casl2lib/divl.casl ../../casl2lib/rev.casl rotate.casl | cat 16_16.pbm - >five_rot.pbm +;;; 「五」を表す画像を時計方向へ90度回転させた結果をPBMファイルとして出力する +;;; 呼び出し方: +;;; casl2 -M 1024 five_cw90_pbm.casl $CASL2LIB/pbm16.casl $CASL2LIB/outb_w.casl $CASL2LIB/divl.casl $CASL2LIB/rev.casl rotate_cw90.casl >five_cw90.pbm MAIN START - LAD GR1,ORG + RPUSH + LAD GR1,GRAPH 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 + LAD GR1,RES + CALL PBM16 + RPOP FIN RET -ORG DC #FFFC +GRAPH DC #FFFC DC #FFFC DC #FFFC DC #0700 @@ -27,6 +26,5 @@ ORG DC #FFFC 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/five_nn_part_pbm.casl similarity index 52% rename from as/app/pbm/call_rotate3.casl rename to as/app/pbm/five_nn_part_pbm.casl index 67a2a4c..857bc5c 100644 --- a/as/app/pbm/call_rotate3.casl +++ b/as/app/pbm/five_nn_part_pbm.casl @@ -1,18 +1,17 @@ -;;; casl2 call_rotate3.casl ../../casl2lib/outb_w.casl ../../casl2lib/divl.casl ../../casl2lib/rev.casl rotate3.casl | cat 16_16.pbm - >five_rot3.pbm +;;; 「五」を表す画像を時計方向へ90度回転させた結果をPBMファイルとして出力する +;;; 呼び出し方: +;;; casl2 -M 1024 five_nn_part_pbm.casl $CASL2LIB/pbm16.casl $CASL2LIB/outb_w.casl $CASL2LIB/divl.casl $CASL2LIB/rev.casl rotate_nn_part.casl >five_nn_part.pbm MAIN START - LAD GR1,ORG + RPUSH + LAD GR1,GRAPH 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 + LAD GR1,RES + CALL PBM16 + RPOP FIN RET -ORG DC #FFFC +GRAPH DC #FFFC DC #FFFC DC #FFFC DC #0700 @@ -28,6 +27,5 @@ ORG DC #FFFC DC #FFFF DC #FFFF DC #0000 -HEIGHT DC 16 RES DS 16 END diff --git a/as/app/pbm/call_pbm16.casl b/as/app/pbm/five_pbm.casl similarity index 69% rename from as/app/pbm/call_pbm16.casl rename to as/app/pbm/five_pbm.casl index 4846fbd..dd59314 100644 --- a/as/app/pbm/call_pbm16.casl +++ b/as/app/pbm/five_pbm.casl @@ -1,3 +1,6 @@ +;;; 「五」を表す16 x 16のpbm画像を出力する +;;; 呼び出し方: +;;; casl2 five_pbm.casl $CASL2LIB/pbm16.casl $CASL2LIB/outb_w.casl $CASL2LIB/divl.casl $CASL2LIB/rev.casl >five.pbm MAIN START LAD GR1,GRAPH CALL PBM16 diff --git a/as/app/pbm/rotate2.casl b/as/app/pbm/rotate_ccw90.casl similarity index 96% rename from as/app/pbm/rotate2.casl rename to as/app/pbm/rotate_ccw90.casl index a647c83..f84649f 100644 --- a/as/app/pbm/rotate2.casl +++ b/as/app/pbm/rotate_ccw90.casl @@ -12,11 +12,11 @@ LOOP1 LD GR4,=16 LD GR5,GR2 ; GR5 ← 結果の領域のアドレス LD GR6,0,GR1 ; GR6 ← 元の図形の先頭語の内容 LOOP2 LD GR7,0,GR5 ; GR7 ← 結果の領域の1語の内容 - SRL GR7,1 + SLL GR7,1 SRL GR6,1 JOV ON JUMP CONT -ON OR GR7,=#8000 +ON OR GR7,=#0001 CONT ST GR7,0,GR5 ; 処理した1語を結果の領域に格納 LAD GR5,1,GR5 SUBA GR4,=1 diff --git a/as/app/pbm/rotate.casl b/as/app/pbm/rotate_cw90.casl similarity index 100% rename from as/app/pbm/rotate.casl rename to as/app/pbm/rotate_cw90.casl diff --git a/as/app/pbm/rotate3.casl b/as/app/pbm/rotate_nn_part.casl similarity index 99% rename from as/app/pbm/rotate3.casl rename to as/app/pbm/rotate_nn_part.casl index b40ad07..62f94fc 100644 --- a/as/app/pbm/rotate3.casl +++ b/as/app/pbm/rotate_nn_part.casl @@ -34,7 +34,7 @@ LOOP1 LD GR4,N LD GR6,0,GR1 ; GR6 ← 元の図形の先頭語の内容 LOOP2 LD GR7,0,GR5 ; GR7 ← 結果の領域の1語の内容 SRL GR7,1 - SRL GR6,1 + SLL GR6,1 JOV ON JUMP CONT ON OR GR7,=#8000 diff --git a/as/app/pbm/pbm16.casl b/as/casl2lib/pbm16.casl similarity index 92% rename from as/app/pbm/pbm16.casl rename to as/casl2lib/pbm16.casl index 2b9404a..39671ca 100644 --- a/as/app/pbm/pbm16.casl +++ b/as/casl2lib/pbm16.casl @@ -3,7 +3,7 @@ ;;; 白黒ビットマップ画像データ(白:0 黒:1)とみなし、 ;;; PBM画像ファイルとして出力 ;;; 入力: GR1 画像データの先頭アドレス -;;; 依存副プログラム: outl.casl +;;; 依存副プログラム: outb_w.casl divl.casl rotate.casl PBM16 START PUSH 0,GR1 PUSH 0,GR2 -- 2.18.0