Hi, könnte mir jemand mit einfachen Worten den Unterschied zwischen den Befehlen 8535 MEGA16 -------------- RJMP --> JMP / RJMP RCALL --> CALL / RCALL erklären? Wann kann ich beim MEGA 16 JMP durch RJMP ersetzen und wann nicht? (gleiches gilt für Call und RCALL) Danke, Günter
JMP / CALL voller Adressbereich 64k Worte RJMP / RCALL Zieladresse muss im Bereich +- 2k Worte liegen Codebedarf: JMP / CALL = 2 Worte RJMP / RCALL = 1 Wort
Ich nehme an, mit Codebedarf meinst du die Wortlänge (8bit bei rjmp und 16bit bei jmp)der Sprungadresse. O.K., hilft schon mal etwas weiter. Vielen Dank, Günter
Hallo, die Wortlänge ist beim AVR aber 2 Byte, sprich 16 Bit. Alle Befehle sind mindestens 1 Wort gross, so auch der RJMP und haben 16 Bit. Grüße
Aber wieso 64K Sprungweite bei 16K Flash? Und warum ist das aufgeteilt in JMP und RJMP? Vor allem fällt mir auf, wenn ich in einem 8535 Programm die Sprungbefehle ändere in call und jmp, passiert mit einem Mega16 Müll. Wieso? Günter
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.