Announcements
IMPORTANT: Cypress Developer Community is transitioning on October 20th. To learn more and be prepared for this change, check out our latest announcement.
cancel
Showing results for 
Search instead for 
Did you mean: 

Knowledge Base Articles

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

GeethaP_31
Employee

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

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 Likes
Version history
Revision #:
1 of 1
Last update:
‎Sep 09, 2020 02:18 AM
Updated by:
 
Contributors