- ベストアンサー
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になっていますがそういうものなのでしょうか?
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
2の補数表現では、演算結果の最上位ビットが0なら正(0含む)、1なら負なので、フラグNはそれに準じます。 で、8bitでの2の補数表現なら、0から127(0x7f)までが正で、それに1足すと0x80となり、これは最上位がたって、正から負にあふれてしまったので、フラグOVがセットされます。 ――って話ではないかと。
お礼
どうもそういう話みたいです。補数はほとんど使ってなかったので(というより16Fにはそんな機能はなかったが)そういう機能がついたという感じでしょうか。回答ありがとうございます。