1 ;;; 平成20年 秋期 基本情報技術者 午後 問13
2 ;;; アンケートに対するn人分の回答を集計し、集計結果をグラフで出力する副プログラム
9 LAD GR5,PBUF ; 出力バッファのポインタ
10 LOOP1 ST GR2,COUNTR,GR4 ; カウンタ領域を初期化
11 ST GR3,0,GR5 ; 出力バッファを空白で初期化
14 LAD GR5,3,GR5 ; 出力バッファのポインタを更新
15 LAD GR4,1,GR4 ; ループカウンタを更新
18 ; 項目ごとに "はい" と答えた人数を集計
19 LD GR5,=0 ; GR5: "はい" の人数の最大値
20 LOOP2 LD GR4,=0 ; カウンタ領域のポインタ
21 LD GR2,0,GR1 ; GR2 ←1人分の回答
22 LOOP3 SLL GR2,1 ; 回答は "はい" ?
24 JZE NEXTW ; 残りの項目はすべて "いいえ"
26 ON LD GR3,COUNTR,GR4 ; カウンタに1を加算
32 CHANGE LD GR5,GR3 ; 最大値を入替え
33 OFF LAD GR4,1,GR4 ; 次の項目
42 LOOP4 LD GR3,=1 ; 出力バッファのポインタ
43 LD GR4,=0 ; カウンタ領域のポインタ
44 LOOP5 CPA GR5,COUNTR,GR4 ; "はい" の人数と比較
46 ST GR0,PBUF,GR3 ; 出力バッファに "*" を設定
47 NOTSET LAD GR3,3,GR3 ; 出力バッファのポインタを更新
48 LAD GR4,1,GR4 ; カウンタ領域のポインタを更新
60 FOOTER DC '01 02 03 04 05 06 07 08 09 10 11 12 13 '