実験II/PIC

実験でPICで作るものは、ウチの班はスイングバナーやったんやが、ちょっと詰まったものの苦し紛れのアイデア一発でそれなりに動くようになったんで、今日はバグ取りとかして来週の発表に備える感じやった。
んやが、隣りの班がプログラムで詰まってるのを見て、つい手伝ってしまった。それが運の尽き。その班は囚人のジレンマゲームを製作するんやったんやが、何故か一部だけ論理が反転するという謎の現象が発生。対症療法的に対処してみるもなんかどっかおかしい。
原因不明のままにしておくのが気持ち悪かったんで、何故か俺が率先して居残ってバグ取りをした。その結果、まず出力するビットパターンがおかしかったことが判明。これで論理が反転していた。
更にある数が負かどうかを判定するのにその数を0から減算し、フラグ変化(Carry)を見るという手法を用いていたんやが、これがおかしかった。その数が負だと結局加算になり、フラグ変化(Carry)が加算と同様になるらしい*1。とりあえず負の数の場合が-1と-2しかなかったんで、それと等しいかどうか個別に判定して無理矢理動かした。これで一部反転していた問題も解決した。

はぁ、すっきりした。

*1:減算と加算ではフラグ変化は反転する。