Hey Leute, ich stehe gerade auf dem Schlauch. Ich habe folgenden code .extern cpointer //ist in meinem c-code dann uint_8* cpointer diese lade ich dann in assembler mit LDI ZL,lo8(cpointer) LDI ZH,hi8(cpointer) So nun mach ich LD R18,Z+ und jetzt möchte ich den neuen Wert von Z (wurde ja inkrementiert) wieder auf cpointer zurückschreiben. Wie mach ich das? Vielen Dank! Gruß Toffer
Dein Code macht nicht das, was die Beschreibung sagt. Damit lädst Du nach Z nicht cpointer, sondern &cpointer (die Adresse von cpointer) und liest nicht *cpointer (das, worauf cpointer zeigt), sondern direkt das LSB von cpointer (cpointer & 0xff). Richtig wäre:
1 | |
2 | |
3 | |
4 | |
5 | |
Ja das war wohl schon ein wenig spät :D Vielen dank für deine Hilfe, so gehts! Gruß Toffer
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.