問題

問12 次のアセンブラプログラムの説明及びプログラムを読んで,設問1,2に答えよ。
※アセンブラ言語の仕様

〔プログラムの説明〕
  32ビットの乗算を行う副プログラムMULSである。

(1)MULSは,32ビットの被乗数と16ビットの乗数を受け取り,32ビットの積を返す。数値はすべて符号なし整数とし,積のオーバフローは考慮しない。
 被乗数と積は,それぞれ連続する2語に上位16ビット,下位16ビットの順に格納される。それぞれの上位語のアドレスは,GR1とGR3に設定して渡される。
 乗数はGR2に直接設定して渡される。

(2)副プログラムMULSから戻るとき,汎用レジスタGR1~GR7の内容は元に戻す。