アプリ版:「スタンプのみでお礼する」機能のリリースについて

大学の課題の答えを教えてください。

まず答えを教えてもらい、それを自分なりに解析して勉強しようと思います。答え無しでは、まったく何が何なのか分かりませんでした。

「記憶領域に確保された定数8を4乗した解をGR2に求めなさい」

よろしくおねがいします。

・足し算と、引き算は「ADDA」という命令と「SUBA」という命令を使えば良いとわるんですが、「4乗」という命令はどうやって出すんですか??

・定数を確保するには「DC」という命令を使うんですか??

A 回答 (3件)

答えを聞いて考えるより苦しんだほうが絶対身につきます。

それに全部の答えを書くことは、この掲示板の規約違反の可能性があります。
なので、ヒントを書きます。

・足し算と、引き算は「ADDA」という命令と「SUBA」という命令を使えば良いとわるんですが、「4乗」という命令はどうやって出すんですか??
掛け算は、足し算を繰り返すことってのは理解されますか?
10×5なら10を5回加算することです。
だったら、4乗は8x8x8x8って事ですから、8x8を掛け算して、その答え同士を掛け算すると求める事が出来ます。

・定数を確保するには「DC」という命令を使うんですか??
そうです。DCをつかいます。

これだけでは、答えにたどり着けないと思いますので参考サイト。
http://www016.upp.so-net.ne.jp/masuda2/casl2/ind …
あとは、CASLIIのシミュレータで実際に動かして確認しましょう。
    • good
    • 0
この回答へのお礼

ありがとうございます。リンクまで貼ってもらって。

自分で考えて見たんですが下記のようでは駄目でしょうか??

SAMP....START
........LD.......GR2,A
........SLA......GR2,8
........RET
A.......DC.......8
........END

乗算には算術シフト命令(左)を使うようですね。
上のプログラムをアセンブリすると「GR2」の値と8の4乗である
「2048」は一致します。

お礼日時:2007/11/16 22:20

「記憶領域に確保された定数8を4乗した解をGR2に求めなさい」


 LAD GR2, 4096
 DC 8
でいいような。。一応、記憶領域に定数8を作ってみた。
    • good
    • 0

>乗算には算術シフト命令(左)を使うようですね。


>上のプログラムをアセンブリすると「GR2」の値と8の4乗である「2048」は一致します。
8の4乗は、4096ですので間違っています。
それと、SLA......GR2,8では単に256倍してるだけですのでプログラムとして落第です。
乗算にシフトを使うのは掛け算の一つの方法ですが、意味が全然違います。シフトより簡単な足し算を繰り返す方法をお勧めします。参考サイトに両方の例が載っていますが、とりあえず足し算をループで繰り返す方法を理解してください。
プログラムとしては、8以外の数字の時もちゃんと4乗出来ないとまずいと思いますよ。

この回答への補足

なるほど。間違っている上に、プログラムとしての機能が無いんですね。おすすめいただいた足し算を繰り返す方法を頑張ってマスターします。
ありがとうございます。

補足日時:2007/11/16 23:02
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!