Forum: Mikrocontroller und Digitale Elektronik assembler array, pointer


von der ernst (Gast)


Lesenswert?

folgendes problem,..

startadresse mittels
.org 0x0000 festgelegt

dann mit

.byte 0x32, 0x45, 0xad,... ein paar werte ab adresse 0x0000
gespeichert.

jedoch gelingt es mir nicht auf die daten zuzugreifen wie kann man da
im hauptprogramm einen pointer auf diese adressen setzten , hab da mit
den registern x, y, z probiert ,...irgendwie schaff ichs nicht

ps: interrupts werden keie verwendet, also die einsprungadresse bei
0x0004 wo  der interrupt steht ist egal

thx für eure hilfe

von johnny.m (Gast)


Lesenswert?

Aber bei 0x0000 steht der RESET-Vektor, und der ist definitiv nicht
egal!

von Christoph Kessler (db1uq) (Gast)


Lesenswert?

Welcher Prozessor ? Beim AVR sind die ersten Bytes  (bis $6F oder noch
weiter?) für interene Register vergeben, nicht nur der Resetvektor.
Außerdem gibts da einen Versatz in der Adressierung um $20. Die ersten
kByte, je nach Typ, sind internes SRAM, externes Ram an der Stelle wird
ausgeblendet.

von johnny.m (Gast)


Lesenswert?

Die Register x, y und z deuten eigentlich auf nen AVR hin. Ich halte es
aber auch nicht für besonders geschickt, Daten an den Anfang des Flash
legen zu wollen. Oder hast Du so wenig Platz im Flash, dass Du jedes
Byte nutzen musst?

Gruß

Johnny

von der ernst (Gast)


Lesenswert?

atmega 16

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
Noch kein Account? Hier anmelden.