1 ../../../../casl2 -la ../../../../as/YAKUWA/binout.casl
3 Assemble ../../../../as/YAKUWA/binout.casl (0)
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
162 ../../../../as/YAKUWA/binout.casl:47: POP GR4 ; レジスタの復元
164 ../../../../as/YAKUWA/binout.casl:48: POP GR3 ; ↓
166 ../../../../as/YAKUWA/binout.casl:49: POP GR2 ; ↓
168 ../../../../as/YAKUWA/binout.casl:50: POP GR1 ; ↓
170 ../../../../as/YAKUWA/binout.casl:51: RET
172 ../../../../as/YAKUWA/binout.casl:52:OBUF DS 16
189 ../../../../as/YAKUWA/binout.casl:53:OLNG DS 1
191 ../../../../as/YAKUWA/binout.casl:54:NZERO DC 0
193 ../../../../as/YAKUWA/binout.casl:55: END