2 Assemble ../../../as/summary_call.casl (0)
3 ../../../as/summary_call.casl:1:MAIN START
4 ../../../as/summary_call.casl:2: LAD GR1,DATA
5 ../../../as/summary_call.casl:3: LD GR0,CNT
6 ../../../as/summary_call.casl:4: CALL SUMMARY
7 ../../../as/summary_call.casl:5: RET
8 ../../../as/summary_call.casl:6:DATA DC #9600,#F000,#A400
9 ../../../as/summary_call.casl:7:CNT DC 3
10 ../../../as/summary_call.casl:8: END
12 Assemble ../../../as/summary.casl (0)
13 ../../../as/summary.casl:1:SUMMARY START
14 ../../../as/summary.casl:2: RPUSH
15 ../../../as/summary.casl:3:; カウンタ領域と出力バッファを初期化
16 ../../../as/summary.casl:4: LD GR2,=0
17 ../../../as/summary.casl:5: LD GR3,=' '
18 ../../../as/summary.casl:6: LD GR4,=0 ; ループカウンタ
19 ../../../as/summary.casl:7: LAD GR5,PBUF ; 出力バッファのポインタ
20 ../../../as/summary.casl:8:LOOP1 ST GR2,COUNTR,GR4 ; カウンタ領域を初期化
21 ../../../as/summary.casl:9: ST GR3,0,GR5 ; 出力バッファを空白で初期化
22 ../../../as/summary.casl:10: ST GR3,1,GR5
23 ../../../as/summary.casl:11: ST GR3,2,GR5
24 ../../../as/summary.casl:12: LAD GR5,3,GR5 ; 出力バッファのポインタを更新
25 ../../../as/summary.casl:13: LAD GR4,1,GR4 ; ループカウンタを更新
26 ../../../as/summary.casl:14: CPA GR4,=16
27 ../../../as/summary.casl:15: JMI LOOP1
28 ../../../as/summary.casl:16:; 項目ごとに "はい" と答えた人数を集計
29 ../../../as/summary.casl:17: LD GR5,=0 ; GR5: "はい" の人数の最大値
30 ../../../as/summary.casl:18:LOOP2 LD GR4,=0 ; カウンタ領域のポインタ
31 ../../../as/summary.casl:19: LD GR2,0,GR1 ; GR2 ←1人分の回答
32 ../../../as/summary.casl:20:LOOP3 SLL GR2,1 ; 回答は "はい" ?
33 ../../../as/summary.casl:21: JOV ON
34 ../../../as/summary.casl:22: JZE NEXTW ; 残りの項目はすべて "いいえ"
35 ../../../as/summary.casl:23: JUMP OFF
36 ../../../as/summary.casl:24:ON LD GR3,COUNTR,GR4 ; カウンタに1を加算
37 ../../../as/summary.casl:25: ADDA GR3,=1
38 ../../../as/summary.casl:26: ST GR3,COUNTR,GR4
39 ../../../as/summary.casl:27: CPA GR3,GR5 ; 最大値と比較
40 ../../../as/summary.casl:28: JPL CHANGE
41 ../../../as/summary.casl:29: JUMP OFF
42 ../../../as/summary.casl:30:CHANGE LD GR5,GR3 ; 最大値を入替え
43 ../../../as/summary.casl:31:OFF LAD GR4,1,GR4 ; 次の項目
44 ../../../as/summary.casl:32: JUMP LOOP3
45 ../../../as/summary.casl:33:NEXTW LAD GR1,1,GR1
46 ../../../as/summary.casl:34: SUBA GR0,=1 ; 全回答処理済?
47 ../../../as/summary.casl:35: JPL LOOP2
48 ../../../as/summary.casl:36:; 集計結果を棒グラフで出力
49 ../../../as/summary.casl:37: LD GR5,GR5
50 ../../../as/summary.casl:38: JZE FIN
51 ../../../as/summary.casl:39: LD GR0,='*'
52 ../../../as/summary.casl:40:LOOP4 LD GR3,=1 ; 出力バッファのポインタ
53 ../../../as/summary.casl:41: LD GR4,=0 ; カウンタ領域のポインタ
54 ../../../as/summary.casl:42:LOOP5 CPA GR5,COUNTR,GR4 ; "はい" の人数と比較
55 ../../../as/summary.casl:43: JNZ NOTSET
56 ../../../as/summary.casl:44: ST GR0,PBUF,GR3 ; 出力バッファに "*" を設定
57 ../../../as/summary.casl:45:NOTSET LAD GR3,3,GR3 ; 出力バッファのポインタを更新
58 ../../../as/summary.casl:46: LAD GR4,1,GR4 ; カウンタ領域のポインタを更新
59 ../../../as/summary.casl:47: CPA GR4,=16
60 ../../../as/summary.casl:48: JMI LOOP5
61 ../../../as/summary.casl:49: OUT PBUF,PLEN
62 ../../../as/summary.casl:50: SUBA GR5,=1
63 ../../../as/summary.casl:51: JPL LOOP4
64 ../../../as/summary.casl:52:FIN OUT FOOTER,PLEN
65 ../../../as/summary.casl:53: RPOP
66 ../../../as/summary.casl:54: RET
67 ../../../as/summary.casl:55:COUNTR DS 16 ; カウンタ領域
68 ../../../as/summary.casl:56:PLEN DC 48
69 ../../../as/summary.casl:57:PBUF DS 48 ; 出力バッファ
70 ../../../as/summary.casl:58:FOOTER DC '01 02 03 04 05 06 07 08 09 10 11 12 13 '
71 ../../../as/summary.casl:59: DC '14 15 16 '
72 ../../../as/summary.casl:60: END
95 Assemble ../../../as/summary_call.casl (1)
97 Assemble ../../../as/summary.casl (1)
101 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16