Zugriff auf 97 Byte reservierten Speicherplatz

Gast #1725133
Lesenswert?

Hallo,
Ich habe im Assemblercode folgende Anweisung:
1
VAR1: .BYTE 97
Nun will ich die Adresse von VAR1 in meinem C code nutzen.
So, wie ich das verstanden habe müsste ich bei einer 2 Byte reservierung
1
extern volatile uint16_t VAR1;
benutzen, um an den Inhalt zu kommen, und dann wäre ja &VAR1 die 
adresse.

Aber wie ist das bei dem 97Byte langem Speicher?
Kann ich da, da ich eh nur die Adresse brauch auch einfach nur
1
extern volatile uint8_t VAR1;
2
// &VAR1 == Adresse von VAR1
nehmen?

Vielen Dank,
Florian
Gast #1725177
Lesenswert?

Ich Danke dir, dann werd ich das so machen.
Ich dachte mir ich experimentier einfach mal ein wenig damit, das zu 
mischen, man weiß ja nie, ob man das vllt noch mal gebrauchen kann.

Nochmals Danke,
Florian
#1725195
Lesenswert?

Und um Deine erste Frage zu beantworten:  Du definierst die Variable mit
1
      .bss
2
      .global  var1
3
var1: .space 97
4
      .text
und referenzierst sie mit
1
extern uint8_t var1[97];
oder welcher Typ immer am besten passt (struct wäre manchmal noch ganz 
praktisch).

(EDIT: sections hinzugefügt)

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren