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

cross mob

PSoC®1アセンブリ言語でユニオン変数ブロックを宣言する - KBA91675 - Community Translated (JA)

PSoC®1アセンブリ言語でユニオン変数ブロックを宣言する - KBA91675 - Community Translated (JA)

GeethaP_31
Employee
Employee
50 questions asked 10 questions asked 5 questions asked

Community Translated by NoTa_4591161 Expert      Version: **

Translation - English: Declaring Union Variable Blocks in PSoC® 1 Assembly Language - KBA91675

質問:

PSoC® 1で、どのようにユニオン変数ブロックは(変数が同じメモリ位置を占める)アセンブリ言語で宣言することができますでしょうか?

回答:

同じメモリ位置に2つのRAM領域を配置するには、「AREA」ディレクティブの「OVR」(オーバーラップ)キーワードを使用します。

以下のコンテンツは、「OVR」キーワードについて説明しています。このコンテンツは、PSoC Designer Help > Documentation > Compiler and Programming Documents > Assembly Language User Guideで利用可能な「ImageCraftアセンブリ言語ガイド」の76ページから引用されていることに注意してください。これはhttp://www.cypress.com/file/44746/downloadのリンクから入手できます。

OVR –順次AREAが同じアドレスで始まることを指定します。これは、AREAのユニオンになります。AREAディレクティブの合計サイズは、最大領域のサイズになります。

次の例は、2つのRAM変数グループ「areavar1」と「areavar2」の領域を同じメモリ位置にマップする方法を示しています。

AREA areavar1(RAM, REL, OVR)
VAR1:     blk 32 ; RAM storage
area areavar2(RAM, rel, con)
VAR2_INITIAL:      blk 5
VAR2_FINAL:        blk 1

areavar1areavar2は重複するメモリロケーションを占有するため、「VAR2_FINAL」は「VAR1 + 5」と同じRAMロケーションにマップされます。

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