1 ../../../../casl2 -la ../../../../as/YAKUWA/binout.casl
3 Assemble ../../../../as/YAKUWA/binout.casl (0)
10 BINOUT.STORE ---> #0033
12 BINOUT.NZERO ---> #0071
13 BINOUT.LOOP1 ---> #0023
14 BINOUT.LOOP2 ---> #002B
17 BINOUT.OLNG ---> #0070
23 Assemble ../../../../as/YAKUWA/binout.casl (1)
24 ../../../../as/YAKUWA/binout.casl: 1:;;; BINOUT: 主プログラムから渡された1語の内容を、
25 ../../../../as/YAKUWA/binout.casl: 2:;;; ゼロ抑制を行った2進表記で出力する
26 ../../../../as/YAKUWA/binout.casl: 3:;;; 八鍬幸信『基本情報処理試験 らくらく突破 CASL II』172ページ
27 ../../../../as/YAKUWA/binout.casl: 4:;;; BINOUTを呼び出す
28 ../../../../as/YAKUWA/binout.casl: 5:MAIN START
29 ../../../../as/YAKUWA/binout.casl: 6: LAD GR2,0
32 ../../../../as/YAKUWA/binout.casl: 7:MLOOP CPA GR2,MLEN
35 ../../../../as/YAKUWA/binout.casl: 8: JZE MFIN
38 ../../../../as/YAKUWA/binout.casl: 9: LD GR1,MWORD,GR2
41 ../../../../as/YAKUWA/binout.casl: 10: CALL BINOUT
44 ../../../../as/YAKUWA/binout.casl: 11: LAD GR2,1,GR2
47 ../../../../as/YAKUWA/binout.casl: 12: JUMP MLOOP
50 ../../../../as/YAKUWA/binout.casl: 13:MFIN RET
52 ../../../../as/YAKUWA/binout.casl: 14:MWORD DC #0000,#0001,#09CD,#8001
57 ../../../../as/YAKUWA/binout.casl: 15:MLEN DC 4
59 ../../../../as/YAKUWA/binout.casl: 16: END
60 ../../../../as/YAKUWA/binout.casl: 17:;;; BINOUT
61 ../../../../as/YAKUWA/binout.casl: 18:BINOUT START
62 ../../../../as/YAKUWA/binout.casl: 19: PUSH 0,GR1 ; レジスタの退避
65 ../../../../as/YAKUWA/binout.casl: 20: PUSH 0,GR2 ; ↓
68 ../../../../as/YAKUWA/binout.casl: 21: PUSH 0,GR3 ; ↓
71 ../../../../as/YAKUWA/binout.casl: 22: PUSH 0,GR4 ; ↓
74 ../../../../as/YAKUWA/binout.casl: 23: LAD GR2,0 ; 出力ポインタの初期化
77 ../../../../as/YAKUWA/binout.casl: 24: LAD GR3,15 ; カウンタの初期化
80 ../../../../as/YAKUWA/binout.casl: 25: LD GR4,GR1 ; 全ビット = 0?
82 ../../../../as/YAKUWA/binout.casl: 26: JZE OUT1
85 ../../../../as/YAKUWA/binout.casl: 27:LOOP1 JMI ONE ; 先行するビット処理
88 ../../../../as/YAKUWA/binout.casl: 28: LAD GR3,-1,GR3 ; ↓
91 ../../../../as/YAKUWA/binout.casl: 29: SLL GR1,1 ; ↓
94 ../../../../as/YAKUWA/binout.casl: 30: JUMP LOOP1
97 ../../../../as/YAKUWA/binout.casl: 31:LOOP2 JMI ONE ; 符号ビットの判定
100 ../../../../as/YAKUWA/binout.casl: 32:ZERO LAD GR0,48 ; '0'→GR0
103 ../../../../as/YAKUWA/binout.casl: 33: JUMP STORE
106 ../../../../as/YAKUWA/binout.casl: 34:ONE LAD GR0,49 ; '1'→GR1
109 ../../../../as/YAKUWA/binout.casl: 35:STORE ST GR0,OBUF,GR2
112 ../../../../as/YAKUWA/binout.casl: 36: LAD GR2,1,GR2
115 ../../../../as/YAKUWA/binout.casl: 37: LAD GR3,-1,GR3
118 ../../../../as/YAKUWA/binout.casl: 38: CPA GR3,NZERO
121 ../../../../as/YAKUWA/binout.casl: 39: JMI OUT2 ; 全ビット終了?
124 ../../../../as/YAKUWA/binout.casl: 40: SLL GR1,1
127 ../../../../as/YAKUWA/binout.casl: 41: JUMP LOOP2
130 ../../../../as/YAKUWA/binout.casl: 42:OUT1 LAD GR0,48
133 ../../../../as/YAKUWA/binout.casl: 43: ST GR0,OBUF,GR2
136 ../../../../as/YAKUWA/binout.casl: 44: LAD GR2,1,GR2
139 ../../../../as/YAKUWA/binout.casl: 45:OUT2 ST GR2,OLNG
142 ../../../../as/YAKUWA/binout.casl: 46: OUT OBUF,OLNG
163 ../../../../as/YAKUWA/binout.casl: 47: POP GR4 ; レジスタの復元
165 ../../../../as/YAKUWA/binout.casl: 48: POP GR3 ; ↓
167 ../../../../as/YAKUWA/binout.casl: 49: POP GR2 ; ↓
169 ../../../../as/YAKUWA/binout.casl: 50: POP GR1 ; ↓
171 ../../../../as/YAKUWA/binout.casl: 51: RET
173 ../../../../as/YAKUWA/binout.casl: 52:OBUF DS 16
190 ../../../../as/YAKUWA/binout.casl: 53:OLNG DS 1
192 ../../../../as/YAKUWA/binout.casl: 54:NZERO DC 0
194 ../../../../as/YAKUWA/binout.casl: 55: END