• ベストアンサー

PIC18FのSTATUS

PIC18FのSTATUSレジスタ(N,OV,Z,DC,C)の内Z,DC,Cは16Fと同じだと思いますがN,OVが部分的にわかりません OV:7ビット越えのオーバーフローフラグということですが8ビットオーバーすればC=1と思いますがなぜ7ビットなのでしょう? どういった時に使えるものなのでしょうか?(符号付とは?) N:演算の負フラグ 16Fの時はCで兼用だったのが分離したものだと思いますが、実際にマイナスになると=1になります。が足して7ビット越えした状態でも=1になっていますがそういうものなのでしょうか?

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

  • ベストアンサー
  • osamuy
  • ベストアンサー率42% (1231/2878)
回答No.1

2の補数表現では、演算結果の最上位ビットが0なら正(0含む)、1なら負なので、フラグNはそれに準じます。 で、8bitでの2の補数表現なら、0から127(0x7f)までが正で、それに1足すと0x80となり、これは最上位がたって、正から負にあふれてしまったので、フラグOVがセットされます。 ――って話ではないかと。

poyo3
質問者

お礼

どうもそういう話みたいです。補数はほとんど使ってなかったので(というより16Fにはそんな機能はなかったが)そういう機能がついたという感じでしょうか。回答ありがとうございます。

関連するQ&A