プロが教える店舗&オフィスのセキュリティ対策術

2つの正数の中で大きい方の数を出力するプログラムなんですが、演算命令(ADD、SUB)、飛び越し命令(JMP、JMZ)、転送命令(LDM、LDC、STR)を用いて、作成できるのでしょうか。かなり考えたのですが、よくわかりません。どんな回答でも結構ですので、宜しくお願いします。

A 回答 (2件)

言語はCASLでしょうか?



基本的に二つの正数(仮にAとB)とします。
A-BでマイナスだったらBを出力する用にジャンプし、逆だったらAへという具合にプログラムを組みましょう。

あえて考え方だけ明記しておきます。ロジックは各演算命令と飛び越し命令の意味を確認すれば、コーディング出来ると思います。
    • good
    • 0
この回答へのお礼

とても参考になりました。ありがとうございました。

お礼日時:2001/01/17 08:27

どういうアーキテクチャをもつCPUを想定しているのでしょう?


ニーモニックで想像できるものもありますが、各転送命令の機能が
正確にわかりません。

JMZが0のときのジャンプを表していて、それ以外に条件ジャンプが
ないとすると、引き算の結果の正負の判断が直接にはできなさそう
です。AND演算くらいあればなんとかなりますが、それもないとい
うわけですね?

エレガントさを求めないなら、1ずつ引いていって、先に0になった
方が小さいというのでどうですか?私もあえて解は割愛しときます。
    • good
    • 0
この回答へのお礼

とても参考になりました。ありがとうございました。

お礼日時:2001/01/17 08:27

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