PBM作成アセンブルプログラムを修正
[YACASL2.git] / as / casl2lib / pbm16.casl
1 ;;; PBM16
2 ;;; GR1で指定されたアドレス以降のメモリを 16×16 の
3 ;;; 白黒ビットマップ画像データ(白:0 黒:1)とみなし、
4 ;;; PBM画像ファイルとして出力
5 ;;; 入力: GR1 画像データの先頭アドレス
6 ;;; 依存副プログラム: outb_w.casl divl.casl rotate.casl
7 PBM16   START
8         PUSH    0,GR1
9         PUSH    0,GR2
10         ST      GR1,BEG
11         OUT     L1,L1LEN
12         OUT     L2,L2LEN
13         XOR     GR2,GR2
14 LOOP    CPL     GR2,HEIGHT
15         JZE     FIN
16         LD      GR1,BEG
17         ADDL    GR1,GR2
18         LD      GR1,0,GR1
19         CALL    OUTB
20         LAD     GR2,1,GR2
21         JUMP    LOOP
22 FIN     POP     GR2
23         POP     GR1
24         RET
25 L1      DC      'P1'
26 L1LEN   DC      2
27 L2      DC      '16 16'
28 L2LEN   DC      5
29 HEIGHT  DC      16
30 BEG     DS      1
31         END