• ベストアンサー

演算装置とフラグレジスタの関係

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

質問者が選んだベストアンサー

  • ベストアンサー
  • 0KG00
  • ベストアンサー率36% (334/913)
回答No.1

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

参考URL:
http://www.inf.ie.kanagawa-u.ac.jp/casl/assembler.html
code55
質問者

お礼

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