平成27年春のアセンブラについて

午前試験免除制度対応!基本情報技術者試験のeラーニング【独習ゼミ】
名無しさんさん  
(No.1)
アセンブラを選択しようと考え平成27年春のアセンブラに挑戦してみたのですがどうしてもCONTの部分を15回している理由とGR2を増やし続けている理由が分かりません
どなたかご教授ください
2016.10.10 15:16
通りすがりの者さん 
(No.2)
この投稿は削除されました。(2016.10.10 21:51)
2016.10.10 21:51
通りすがりの者さん 
(No.3)
まず、あまり自信がありませんので、ご容赦ください。

MULTは、GR0とGR2の掛け算ですが、足し算に変換して実行しています。

例えば、
GR0:0000 0000 0000 0101  (10進数の5)
GR2:0000 0000 0000 1010  (10進数の10)
の掛け算を、GR2の1のビットに着目して、GR0を8倍したものとGR0を2倍したもの、言い換えると、GR0を3ビット左にシフトしたものとGR0を1ビット左にシフトしたものを足すことによって求めます。

上記を例にとって説明すると、GR3を15から始めていますから、GR2を1ビット左にシフトすることを12回繰り返した時にGR2のビット15(先頭)が1になり、
JUMP LP
の後、
JZE FIN
JPL CONT
を通り抜けて、
LD GR4,GR1  ←  GR4にGR1が入り、これはもとのGR0
SLL GR4,0,GR3  ←  cの解答ウ  GR3は3(CONTの12回繰り返しで12減っている)であるので、GR4を3ビット左にシフト
ADDL GRO,GR4  ←  0に初期化したGR0にGR4を加算
によって、まずGR0(=0)にもとのGR0の8倍が加算されます。

その後、さらにGR2を1ビット左にシフトすることを2回繰り返した時に、GR0にもとのGR0の2倍が加算されます。

このように、CONTの3行の中では、GR2の1のビットを探すために、1ビット左にシフトしながらビット15が1になるかどうかの検査を15回繰り返しています。

この問題の一部だけ見ましたが、とても難しいですね。果敢にチャレンジしてください
2016.10.10 21:55
通りすがりの者さん 
(No.4)
この投稿は削除されました。(2016.10.13 15:16)
2016.10.13 15:16
名無しさんさん 
(No.5)
お礼が遅くなってしまい大変申し訳ありません
やっと理解することができました、本当にありがとうございました。
2016.10.15 20:46

返信投稿用フォーム

スパム防止のためにスレッド作成日から30日経過したスレッドへの書込みはできません。

その他のスレッド


Pagetop