6

これらの命令がMSP430プロセッサに対して何をするかを理解しようとしています。

(1) MOV.w  #0x0055,R5
(2)   BIC.w  #0xFFEE,R5
(3)   BIS.w  #0x1144,R5

組み立て手順を説明するものをあまり見つけることができませんでした。これらの手順が何をするのか、各手順の後にr5レジスタに何が保存されるのかを知りたいと思います。誰かが説明できますか?

4

3 に答える 3

15

MOV値を宛先に移動します。この場合R5、値0x0055が含まれます。

BIC宛先値のビットをクリアします。R5に命令の前に0x0055が含まれる場合、値0x0011が含まれます。(これを逆命令と考えてください)。

BISビットを設定します-これは事実上or操作と同じです。R5この命令の後、値は0x1155になります。

于 2012-10-15T20:27:23.183 に答える
5

MOV.w #0x0055,R5次のことを行います。 src → dst

BIC.w #0xFFEE,R5次のことを行いますnot.src .and. dst → dst

BIS.w #0x1144,R5次のことを行います。src .or. dst → dst

MSP430ユーザーガイドをご覧ください


BIS[.W]宛先にビットを設定BIS.B宛先にビットを設定

構文BISsrc、dstまたは
BIS.W src、dst BIS.B src、dst

操作src.OR。dst −> dst

説明ソースオペランドとデスティネーションオペランドは論理的にOR演算されます。結果は宛先に配置されます。ソースオペランドは影響を受けません。

ステータスビットステータスビットは影響を受けません。

モードビットOSCOFF、CPUOFF、およびGIEは影響を受けません。

例RAMワードTOMの6つのLSBが設定されています。

BIS#003Fh、TOM; RAMロケーションTOMに6つのLSBを設定します

例RAMバイトTOMの3つのMSBが設定されています。

BIS.B#0E0h、TOM; RAMロケーションTOMに3つのMSBを設定します

もちろん:

BIC[.W]宛先のビットをクリアしますBIC.B宛先の
ビットをクリアします

構文BICsrc、dstまたは
BIC.W src、dst BIC.B src、dst

操作.NOT.src.AND。dst −> dst

説明反転されたソースオペランドとデスティネーションオペランドは論理的にAND演算されます。結果は宛先に配置されます。ソースオペランドは影響を受けません。

ステータスビットステータスビットは影響を受けません。

モードビットOSCOFF、CPUOFF、およびGIEは影響を受けません。

例RAMワードLEOの6つのMSBがクリアされます。

BIC#0FC00h、LEO; MEM(LEO)で6つのMSBをクリアする

例RAMバイトLEOの5つのMSBがクリアされます。

BIC.B#0F8h、LEO; ラムロケーションLEOで5つのMSBをクリアする

このウェブサイトに関連リンクがあるこのユーザーガイドを見つけることができました

于 2012-10-15T17:59:05.783 に答える
1

既存の回答から欠落している情報の一部は、.W対.Bの重要性です。

56ページのMSP430F24xユーザーガイド(SLAU144J)のセクション3.4から、次のように指定されています。

白黒:

バイトまたはワード操作:

0:ワード操作

1:バイト演算

デフォルトでは、命令は単語に対して機能することに注意してください。

于 2016-08-25T19:31:23.867 に答える