2 Assemble ../../../as/add_p.casl (0)
3 ../../../as/add_p.casl:1:MAIN START
4 ../../../as/add_p.casl:2:BEGIN LD GR1,A
5 ../../../as/add_p.casl:3: ADDA GR1,B
6 ../../../as/add_p.casl:4: CALL ITOA
7 ../../../as/add_p.casl:5: RET
8 ../../../as/add_p.casl:6:A DC 999
9 ../../../as/add_p.casl:7:B DC 998
10 ../../../as/add_p.casl:8:C DS 1
11 ../../../as/add_p.casl:9: END
13 Assemble ../../../as/itoa.casl (0)
14 ../../../as/itoa.casl:1:;GR1に格納された数値を表示
15 ../../../as/itoa.casl:2:ITOA START
16 ../../../as/itoa.casl:3: PUSH 0,GR2
17 ../../../as/itoa.casl:4: PUSH 0,GR3
18 ../../../as/itoa.casl:5: PUSH 0,GR4
19 ../../../as/itoa.casl:6: LAD GR0,0
20 ../../../as/itoa.casl:7: LAD GR2,0
21 ../../../as/itoa.casl:8: AND GR1,GR1
22 ../../../as/itoa.casl:9: JPL ILOOP
23 ../../../as/itoa.casl:10: JZE ILOOP
24 ../../../as/itoa.casl:11: LAD GR0,1
25 ../../../as/itoa.casl:12: CALL INV
26 ../../../as/itoa.casl:13:ILOOP CPA GR1,TEN
27 ../../../as/itoa.casl:14: JMI INEXT
28 ../../../as/itoa.casl:15: CALL DIV
29 ../../../as/itoa.casl:16: ADDA GR4,ZCHAR
30 ../../../as/itoa.casl:17: ST GR4,STR,GR2
31 ../../../as/itoa.casl:18: LAD GR2,1,GR2
32 ../../../as/itoa.casl:19: LD GR1,GR3
33 ../../../as/itoa.casl:20: JUMP ILOOP
34 ../../../as/itoa.casl:21:INEXT ADDA GR1,ZCHAR
35 ../../../as/itoa.casl:22: ST GR1,STR,GR2
36 ../../../as/itoa.casl:23: LAD GR2,1,GR2
37 ../../../as/itoa.casl:24: CPA GR0,=1
38 ../../../as/itoa.casl:25: JPL PRT
39 ../../../as/itoa.casl:26: JMI PRT
40 ../../../as/itoa.casl:27: LD GR1,MINUS
41 ../../../as/itoa.casl:28: ST GR1,STR,GR2
42 ../../../as/itoa.casl:29: LAD GR2,1,GR2
43 ../../../as/itoa.casl:30:PRT ST GR2,LEN
44 ../../../as/itoa.casl:31: LAD GR1,STR
45 ../../../as/itoa.casl:32: LD GR2,LEN
46 ../../../as/itoa.casl:33: CALL REV
47 ../../../as/itoa.casl:34: OUT STR,LEN
48 ../../../as/itoa.casl:35: POP GR4
49 ../../../as/itoa.casl:36: POP GR3
50 ../../../as/itoa.casl:37: POP GR2
51 ../../../as/itoa.casl:38: RET
52 ../../../as/itoa.casl:39:TEN DC 10
53 ../../../as/itoa.casl:40:ZCHAR DC '0'
54 ../../../as/itoa.casl:41:MINUS DC '-'
55 ../../../as/itoa.casl:42:STR DS 6
56 ../../../as/itoa.casl:43:LEN DS 1
57 ../../../as/itoa.casl:44: END
58 ../../../as/itoa.casl:45:;GR1を10で割ったときの商をGR3、剰余をGR4に格納
59 ../../../as/itoa.casl:46:DIV LD GR4,GR1
60 ../../../as/itoa.casl:47: LAD GR3,0
61 ../../../as/itoa.casl:48:DLOOP CPA GR4,TEN
62 ../../../as/itoa.casl:49: JMI DFIN
63 ../../../as/itoa.casl:50: SUBL GR4,TEN
64 ../../../as/itoa.casl:51: LAD GR3,1,GR3
65 ../../../as/itoa.casl:52: JUMP DLOOP
66 ../../../as/itoa.casl:53:DFIN RET
67 ../../../as/itoa.casl:54: END
68 ../../../as/itoa.casl:55:;アドレスがGR1、長さがGR2の文字列を逆順に並べ替える
69 ../../../as/itoa.casl:56:;例: 12345 -> 54321
70 ../../../as/itoa.casl:57:REV START
71 ../../../as/itoa.casl:58: PUSH 0,GR3
72 ../../../as/itoa.casl:59: PUSH 0,GR4
73 ../../../as/itoa.casl:60: PUSH 0,GR5
74 ../../../as/itoa.casl:61: LAD GR3,1
75 ../../../as/itoa.casl:62:RPU CPA GR2,GR3
76 ../../../as/itoa.casl:63: JMI RNEXT
77 ../../../as/itoa.casl:64: LD GR4,GR1
78 ../../../as/itoa.casl:65: ADDA GR4,GR3
79 ../../../as/itoa.casl:66: LD GR4,-1,GR4
80 ../../../as/itoa.casl:67: PUSH 0,GR4
81 ../../../as/itoa.casl:68: LAD GR3,1,GR3
82 ../../../as/itoa.casl:69: JUMP RPU
83 ../../../as/itoa.casl:70:RNEXT LAD GR3,1
84 ../../../as/itoa.casl:71:RPO CPA GR2,GR3
85 ../../../as/itoa.casl:72: JMI RFIN
86 ../../../as/itoa.casl:73: POP GR4
87 ../../../as/itoa.casl:74: LD GR5,GR1
88 ../../../as/itoa.casl:75: ADDA GR5,GR3
89 ../../../as/itoa.casl:76: ST GR4,-1,GR5
90 ../../../as/itoa.casl:77: LAD GR3,1,GR3
91 ../../../as/itoa.casl:78: JUMP RPO
92 ../../../as/itoa.casl:79:RFIN POP GR5
93 ../../../as/itoa.casl:80: POP GR4
94 ../../../as/itoa.casl:81: POP GR3
95 ../../../as/itoa.casl:82: RET
96 ../../../as/itoa.casl:83: END
97 ../../../as/itoa.casl:84:;GR1の内容をマイナス値にする
98 ../../../as/itoa.casl:85:;例: 10 -> -10, -20 -> 20
99 ../../../as/itoa.casl:86:INV START
100 ../../../as/itoa.casl:87: XOR GR1,=#FFFF
101 ../../../as/itoa.casl:88: LAD GR1,1,GR1
102 ../../../as/itoa.casl:89: RET
103 ../../../as/itoa.casl:90: END
130 Assemble ../../../as/add_p.casl (1)
131 ../../../as/add_p.casl:1:MAIN START
132 ../../../as/add_p.casl:2:BEGIN LD GR1,A
135 ../../../as/add_p.casl:3: ADDA GR1,B
138 ../../../as/add_p.casl:4: CALL ITOA
141 ../../../as/add_p.casl:5: RET
143 ../../../as/add_p.casl:6:A DC 999
145 ../../../as/add_p.casl:7:B DC 998
147 ../../../as/add_p.casl:8:C DS 1
149 ../../../as/add_p.casl:9: END
151 Assemble ../../../as/itoa.casl (1)
152 ../../../as/itoa.casl:1:;GR1に格納された数値を表示
153 ../../../as/itoa.casl:2:ITOA START
154 ../../../as/itoa.casl:3: PUSH 0,GR2
157 ../../../as/itoa.casl:4: PUSH 0,GR3
160 ../../../as/itoa.casl:5: PUSH 0,GR4
163 ../../../as/itoa.casl:6: LAD GR0,0
166 ../../../as/itoa.casl:7: LAD GR2,0
169 ../../../as/itoa.casl:8: AND GR1,GR1
171 ../../../as/itoa.casl:9: JPL ILOOP
174 ../../../as/itoa.casl:10: JZE ILOOP
177 ../../../as/itoa.casl:11: LAD GR0,1
180 ../../../as/itoa.casl:12: CALL INV
183 ../../../as/itoa.casl:13:ILOOP CPA GR1,TEN
186 ../../../as/itoa.casl:14: JMI INEXT
189 ../../../as/itoa.casl:15: CALL DIV
192 ../../../as/itoa.casl:16: ADDA GR4,ZCHAR
195 ../../../as/itoa.casl:17: ST GR4,STR,GR2
198 ../../../as/itoa.casl:18: LAD GR2,1,GR2
201 ../../../as/itoa.casl:19: LD GR1,GR3
203 ../../../as/itoa.casl:20: JUMP ILOOP
206 ../../../as/itoa.casl:21:INEXT ADDA GR1,ZCHAR
209 ../../../as/itoa.casl:22: ST GR1,STR,GR2
212 ../../../as/itoa.casl:23: LAD GR2,1,GR2
215 ../../../as/itoa.casl:24: CPA GR0,=1
219 ../../../as/itoa.casl:25: JPL PRT
222 ../../../as/itoa.casl:26: JMI PRT
225 ../../../as/itoa.casl:27: LD GR1,MINUS
228 ../../../as/itoa.casl:28: ST GR1,STR,GR2
231 ../../../as/itoa.casl:29: LAD GR2,1,GR2
234 ../../../as/itoa.casl:30:PRT ST GR2,LEN
237 ../../../as/itoa.casl:31: LAD GR1,STR
240 ../../../as/itoa.casl:32: LD GR2,LEN
243 ../../../as/itoa.casl:33: CALL REV
246 ../../../as/itoa.casl:34: OUT STR,LEN
266 ../../../as/itoa.casl:35: POP GR4
268 ../../../as/itoa.casl:36: POP GR3
270 ../../../as/itoa.casl:37: POP GR2
272 ../../../as/itoa.casl:38: RET
274 ../../../as/itoa.casl:39:TEN DC 10
276 ../../../as/itoa.casl:40:ZCHAR DC '0'
278 ../../../as/itoa.casl:41:MINUS DC '-'
280 ../../../as/itoa.casl:42:STR DS 6
287 ../../../as/itoa.casl:43:LEN DS 1
289 ../../../as/itoa.casl:44: END
290 ../../../as/itoa.casl:45:;GR1を10で割ったときの商をGR3、剰余をGR4に格納
291 ../../../as/itoa.casl:46:DIV LD GR4,GR1
293 ../../../as/itoa.casl:47: LAD GR3,0
296 ../../../as/itoa.casl:48:DLOOP CPA GR4,TEN
299 ../../../as/itoa.casl:49: JMI DFIN
302 ../../../as/itoa.casl:50: SUBL GR4,TEN
305 ../../../as/itoa.casl:51: LAD GR3,1,GR3
308 ../../../as/itoa.casl:52: JUMP DLOOP
311 ../../../as/itoa.casl:53:DFIN RET
313 ../../../as/itoa.casl:54: END
314 ../../../as/itoa.casl:55:;アドレスがGR1、長さがGR2の文字列を逆順に並べ替える
315 ../../../as/itoa.casl:56:;例: 12345 -> 54321
316 ../../../as/itoa.casl:57:REV START
317 ../../../as/itoa.casl:58: PUSH 0,GR3
320 ../../../as/itoa.casl:59: PUSH 0,GR4
323 ../../../as/itoa.casl:60: PUSH 0,GR5
326 ../../../as/itoa.casl:61: LAD GR3,1
329 ../../../as/itoa.casl:62:RPU CPA GR2,GR3
331 ../../../as/itoa.casl:63: JMI RNEXT
334 ../../../as/itoa.casl:64: LD GR4,GR1
336 ../../../as/itoa.casl:65: ADDA GR4,GR3
338 ../../../as/itoa.casl:66: LD GR4,-1,GR4
341 ../../../as/itoa.casl:67: PUSH 0,GR4
344 ../../../as/itoa.casl:68: LAD GR3,1,GR3
347 ../../../as/itoa.casl:69: JUMP RPU
350 ../../../as/itoa.casl:70:RNEXT LAD GR3,1
353 ../../../as/itoa.casl:71:RPO CPA GR2,GR3
355 ../../../as/itoa.casl:72: JMI RFIN
358 ../../../as/itoa.casl:73: POP GR4
360 ../../../as/itoa.casl:74: LD GR5,GR1
362 ../../../as/itoa.casl:75: ADDA GR5,GR3
364 ../../../as/itoa.casl:76: ST GR4,-1,GR5
367 ../../../as/itoa.casl:77: LAD GR3,1,GR3
370 ../../../as/itoa.casl:78: JUMP RPO
373 ../../../as/itoa.casl:79:RFIN POP GR5
375 ../../../as/itoa.casl:80: POP GR4
377 ../../../as/itoa.casl:81: POP GR3
379 ../../../as/itoa.casl:82: RET
381 ../../../as/itoa.casl:83: END
382 ../../../as/itoa.casl:84:;GR1の内容をマイナス値にする
383 ../../../as/itoa.casl:85:;例: 10 -> -10, -20 -> 20
384 ../../../as/itoa.casl:86:INV START
385 ../../../as/itoa.casl:87: XOR GR1,=#FFFF
389 ../../../as/itoa.casl:88: LAD GR1,1,GR1
392 ../../../as/itoa.casl:89: RET
394 ../../../as/itoa.casl:90: END