hallo ich habe folgende situation: ein array im c code deklariert z.B. unsigned char buffer[512]; jetzt möchte ich in meinen assemblerroutinen dieser buffer auch benutzten jedoch wie kommen ich zu der adresse dieses buffers?!? die adressen der buffer im externen ram sind mir bekannt und diese definiere ich auch selber...jedoch muss dieser buffer im internen ram sein, wenn ich jedoch diesem buffer eine adresse zuweise ist es ja möglich dass andere variablen überschrieben werden. oder ist es möglich den buffer an eine bestimmte adresse zu kopieren, sodass der compiler "weiss" dass dieser speicherplatz schon belegt ist und nicht weiter benutzt wird?!? merci für die hilfe gruss fabian
Wenn Du die Variable im C-Programm auf globaler Ebene definiert hast, kannst Du den Namen `buffer' einfach so in einem Assemblerprogramm referenzieren. Du darfst ihn noch mit .extrn buffer deklarieren, aber das ist rein optional und wird vom Assembler ignoriert: alle unbekannten Symbole, die bei der Assemblierung auftauchen, werden als extern vermutet. (Dadurch bekommst Du bei Tippfehlern auch erst vom Linker eine Meldung, nicht schon vom Assembler.)
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.