Tip / ログイン to post questions, reply, level up, and achieve exciting badges. Know more

cross mob

FX2LP TRMの0x9Cおよび0x9Fの特殊機能レジスタがありません - KBA218336 - Community Translated (JA)

FX2LP TRMの0x9Cおよび0x9Fの特殊機能レジスタがありません - KBA218336 - Community Translated (JA)

ChaitanyaV_61
Employee
Employee
50 questions asked 25 likes received 25 sign-ins

Community Translated by NoTa_4591161          Version: **

Translation - English: Missing Special Function Registers - 0x9C and 0x9F in FX2LP TRM - KBA218336

質問:

TRMで定義されていない特殊機能レジスタ(SFR0x9Cおよび0x9Fとは何でしょうか?

回答:

SFR 0x9Cおよび0x9Fは、外部RAMロケーション0xE67Bおよび0xE67CにあるデータレジスタXAUTODAT1およびXAUTODAT2と同じです。

ファームウェアの例でのXAUTODAT1およびXAUTODAT2の宣言は次のとおりです。

EXTERN xdata volatile BYTE XAUTODAT1 _AT_ 0xE67B;
EXTERN xdata volatile BYTE XAUTODAT2 _AT_ 0xE67C;

XAUTODAT2 = XTAUTODAT1;としてautoポインタを使用する場合、対応するアセンブリ命令は次のとおりです。

MOV DPTR, #XAUTODAT1(0XE67B)
MOVX     A,@DPTR
MOV       DPTR, #XAUTODAT2(0XE67C)
MOVX     A,@DPTR

ただし、SFR 0x9Cおよび0x9Fを使用すると、実行が速くなります。これらのSFRを使用するには、存在しない場合は、次の2つの定義をfx2regs.hに追加します。

sfr AUTOPTR_INTDATA1 = 0x9C;
sfr AUTOPTR_INTDATA2 = 0x9F;

autoポインタをAUTOPTR_INTDATA2 = AUTOPTR_INTDATA1;として使用する場合、対応するアセンブリ命令は次のとおりです。

MOV   AUTOPTR_INT_DATA2, AUTOPTR_INT_DATA1  これはより効率的です。

0 件の賞賛
115 件の閲覧回数
寄稿者