Zugriff auf 97 Byte reservierten Speicherplatz

Gast #1725133
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
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
Gast
Dann hab ich das aus dem tutorial falsch verstanden :D
Wie kann ich denn 97 Bytes erzeigen?

Muss ich dann das
1
.comm VAR1, 97
benutzen?

Gruß Florian
Florian schrieb:
> 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.


Ich habs noch nie gebraucht.
Entweder pure Assembler (bis max 2kB Code) oder pure C.
Ich hab hier auch noch kein Projekt gesehen, wo das Mixen wirklich 
notwendig war.


Peter
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

Eine eigene Frage? Dieser Thread ist über 16 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

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.