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

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.