平成28年秋期試験午前問題 午後問12

問12 ソフトウェア開発(アセンブラ)

次のアセンプラプログラムの説明及びプログラムを読んで,設問1~3に答えよ。

〔プログラム1の説明〕
 リストに対して,要素を挿入又は削除する副プログラム LPROC である。リストの構造を図1に示す。
pm12_1.gif
  • リストは一つ以上の要素をもち,一つの要素は連続する2語から成る。1語目には次の要素の先頭アドレス(図中では矢印で表す)が,2語目にはその要素の保持する値が格納される。要素は主記憶の0番地以外に配置され,最後の要素の1語目には,次の要素がないことを表すために,0が設定される。
  • ROOT は1語から成り,最初の要素(要素1)の先頭アドレスが格納される。
  • 主プログラムは,表1に示す値を各レジスタに設定して LPROC を呼ぶ。
    1. nは操作対象とする要素が,リストの先頭から何番目かを指定する正の整数である。
    2. 要素の挿入の場合は,その要素が先頭からn番目となる位置(要素nの直前)に挿入される。削除の場合は,先頭からn番目の要素(要素n)が削除される。
    3. nとして,リストの現在の要素の個数Nよりも大きい値が与えられたとき,LPROC は何もせずに呼出し元に戻る。
    pm12_2.gif
  • LPROC は,要素を挿入又は削除するとき,それぞれ別に用意された副プログラム EGET 又は EFREE を呼ぶ。
  • EGET は,挿入される要素に必要な領域を記憶管理領域から割り当てるために呼び出され,新たに割り当てられた,連続する2語から成る領域の先頭アドレスを GR2 に設定して呼出し元に返す。
  • EFREE は,削除された要素の先頭アドレスを GR2 に設定して呼び出され,当該要索が使用していた領域を記憶管理領域に戻す。
  • 副プログラム EGET から戻るとき,GR2 以外の汎用レジスタの内容は元に戻す。
  • 副プログラム EFREE から戻るとき,汎用レジスタ GR1~GR7 の内容は元に戻す。
  • 副プログラム LPROC から戻るとき,汎用レジスタ GR1~GR7 の内容は元に戻す。
pm12_3.gif

設問1

プログラム1中の に入れる正しい答えを,解答群の中から選べ。
a に関する解答群
  • JMI FIN
  • LAD GR1,1,GR1
  • LAD GR4,1,GR4
  • LD  GR1,GR2
  • LD  GR1,0,GR2
b に関する解答群
  • LD  GR4,0,GR1
  • LD  GR4,0,GR2
  • ST  GR2,0,GR1
  • ST  GR2,0,GR2
  • ST  GR4,0,GR1
  • ST  GR4,0,GR2
c に関する解答群
  • LD  GR4,0,GR1
  • LD  GR4,0,GR2
  • LD  GR4,2,GR1
  • LD  GR4,2,GR2
  • LD  GR4,GR1
  • LD  GR4,GR2
解答選択欄
  • a:
  • b:
  • c:
  • a=
  • b=
  • c=

解説

この設問の解説はまだありません。

設問2

図2に示す要素数が3個のリストについて,n=3で LPROC を実行し,要素を挿入する。行番号12のラベル LINS の命令を実行するとき GR2 に格納されている値として,正しい答えを,解答群の中から選べ。
pm12_4.gif
解答群
  • 挿入する要素の先頭アドレス
  • 要素2の先頭アドレス
  • 要素3の先頭アドレス
  • 0
解答選択欄
  •  
  •  

解説

この設問の解説はまだありません。

設問3

ラベル LIST 以降に格納されている要素数が4個のリストについて,プログラ
ム2の MAIN を実行した。実行後のラベルE3で示される番地の内容として,正し
い答えを,解答群の中から選べ。ここで,EGET で割り当てられた要素の先頭ア
ドレスは,割り当てられた順に,α1α2とする。
pm12_5.gif
解答群
  • α1
  • α2
  • E1
  • E2
  • 0
解答選択欄
  •  
  •  

解説

この設問の解説はまだありません。

Pagetop