「天文屋のためのマイコン入門」演算命令の続き
だいぶお休みしましたが、また再開したいと思います。
演算命令、加算命令だけ紹介しましたね。
今日はその他の演算命令について説明します。まずは減算命令です。
加算の時と同じように考えると減算命令も加算とまったく同じで、ADDをSUBに変えれば完成します。
ただし、減算は加算と違って、可換ではありません。引き算の順序が重要です。上記の表を見ると、ワーキングレジスタからデータメモリを引く命令がありません。ほんとはあってもよさそうなのですが、命令の節約でしょうか?ありません。
仕方がないので、データメモリから、ワーキングレジスタを引いたものを符号反転します。符号反転は0から引けばできます。
例 ワーキングレジスタからデータメモリの減算
SUBWF f , W データメモリからワーキングレジスタを減算
SUBLW 0 それを0から引く、つまり符号反転
あと、ワーキングレジスタから数値を引く命令もありませんが、これは数値の符号を反転して加算に変えれば実現できます。
例 ワーキングレジスタから3を引く
ADDLW -3 -3にワーキングレジスタを足す
さて、加算、減算命令が完成しましたが、そのほかに論理演算命令があります。これらは具体的にどのように使うかは以後説明しますが、命令だけ書いておきます。
論理和 ADDをIORに変える
論理積 ADDをANDに変える
排他的論理和 ADDをXORに変える
以上で2項の演算命令の説明は終わりです。
| 固定リンク
コメント