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

条件分岐などで、ジャンプ命令するかどうかは、CPUがフラグ・レジスタの値を参照し判断するのにも関わらず、比較のための命令が実行されると、CPUの演算装置は、内部で減算をおこない、この結果をフラグレジスタに記録されるのは何故ですか?CPUで値を出せるのならわざわざフラグレジスタの値を参照する必要が無いと思うのですが・・・

A 回答 (1件)

どのCPUのアセンブラの話でしょうか?一般的な8ビット系で考えますけど...


>CPUで値を出せるのなら
この部分の意味が良くわかりません。

フラグレジスタを使用するのは条件付分岐の時だけです。で、比較部分と分岐部分を分割したのですね。
分割する理由は...
・一度比較しておけば分岐先が3つのときなど、演算を繰り返しをしなくてすむ
・オペランド、オペコードが長くなる。オペランドを少なくするためにも(昔の技術は低かったので、できるだけハードを単純化する必要がある。オペランドの種類が多い=ハードが複雑に)組み合わせ(=ソフトウェア)で解決できるならオペランドを分割する

参考URL:http://www.inf.ie.kanagawa-u.ac.jp/casl/assemble …
    • good
    • 0
この回答へのお礼

フラグレジスタを分割する理由は、そういう理由だったんですね!!CPUの方は、根本的に勘違いしていたみたいで、解決いたしました。
ご丁寧に、ありがとうございました!

お礼日時:2006/01/07 01:30

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