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