最新閲覧日:

初めての投稿です。

「アセンブラ言語を用いて掛け算をしなさい。」
という問題です。

調べてもわからないのでロジックと解説をお願いします!!

A 回答 (3件)

一応プログラマです。

回答じゃないです。

「調べてもわからないので」だそうですが、CASLって参考書が大量にありますよね?問題集だってあるしその回答だってあります。
検索サイトで「CASL」「掛け算」で検索したら一発でヒットするんですが、本当に検索されました?

宿題って自分でやる事に意味があるんですよね?他人にやってもらって高得点取っても意味ないですよ。
    • good
    • 0

命令の使い方など、非常に自信ありませんがこんな風にすれば


できたのではないでしょうか。情報処理試験の改訂により、
CASLの仕様も変わりましたが、私は新しいのは知りません。

START
LD GR1,ZERO ;初期化
LD GR2,KAZU2 ;何回足し込むか
LOOP ADD GR1,KAZU1 ;数1をGR1に足す
SUB GR2,ICHI ;足し込む回数のカウンタ-1
JNZ LOOP ;カウンタ0でなければループ
ST GR1,ANS ;答えをANSにストア
ZERO DC 0 ;初期化用
ICHI DC 1 ;定数
KAZU1 DC 5 ;5×6をする
KAZU2 DC 6
ANS DS 1 ;答え格納領域
END

CASLシュミレータなどのソフトや、情報処理技術者試験の
参考書などを参考にされた方がよいと思います。
宿題なら、もう少しご自分で調べられた方がよいと思いますよ。

(tabが上手くいかなかったので、適当にスペースをいれてください。)
    • good
    • 0

CASLのような仮想言語の場合、実際のニーモニックを憶えていないので、ちゃんとしたコーディングで答える事ができませんが、



単純な方法は、掛ける回数だけ足す。
高等な方法は、2の何乗かを調べて、シフト命令を使って、その分の計算を行い、足りない分は加算する。

例えば、6×5の場合、

□6を5回加算する
□5は、2の2乗+1なので、6を2ビットレフトシフトして(6×4)、から6を1回加算します。

といった方法を使うと思います。

この回答への補足

あのぉ、ロジックはどのようなものになりますか?
情報処理技術者試験程度の答えをお願いします。
レポートなんですが全く、手がつけれないのです。
よろしくお願いします。

補足日時:2001/01/28 22:20
    • good
    • 0

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

このQ&Aを見た人が検索しているワード


このカテゴリの人気Q&Aランキング

おすすめ情報

カテゴリ