Hi, ich eine Aufgabe von der Uni die ich lösen muss nur verstehe ich garnicht was dort gemeint sein könnte: Der AVR ATmega verarbeitet 16-Bit-Worte aus dem Programmspeicher. Daher wird überlicherweise nach einem Befehl an der Stelle n als nächstes ein Befehl an der Adresse n+2 verarbeitet. Finden Sie so viele Umstände wie möglich, unter denen der nächste tatsächliche verarbeitete Befehl nicht an der Adresse n+2 steht (es gibt etwa 7 grundlegend voneinernader verschiedene mögliche Antworten).
es get um die structur der Assemblerbefehle Ein Befehl setzt sich aus Opcode und parameter zusammen. Die Opcode sind 1 byte lang der parameter je nach opcode 0,1,2 byte Das bedeutet du must die Opcode gruppieren nach der länge der zugehörigen Parameter Die meißten opcode haben einen Einbyte parameter d.h der nächste Befehl beginnt beim übernächsten Byte. Du sollst die die Ausnahmen benennen.
Gefragt wird nach 32-Bit Befehlen wie LDS oder JMP, bei denen der PC um 4 erhöht wird, nicht nur um 2. Aber Obacht: Bei ATtiny10 et al. ist LDS/STS nur 2 Byte lang.
Hi! Darueber gibt es von Atmel ein Dokument: http://matrixstorm.com/avr/files/doc0856.pdf MfG Stephan Nachtrag: Einfach die PDF nach "Words: 2" durchsuchen.
Georg A. schrieb: > Ihr denkt alle etwas zu einseitig... Denis Meißner schrieb: > und was bedeutet das nun genau mit einseitig denken? Jo, würde ich auch gern wissen.
Na also ;) Und wenn man die Sprünge noch nach der Herkunft des Sprungziels sortiert, gehts auch mit den 7 Stück auf.
Ich würde die Sprünge eher danach sortieren, woher der neue PC kommt: relativ (PC:=PC+d) absolut (PC:=n) indirekt (PC=regZ) Return (PC=<pop Stack>) Im Endeffekt gehts bei der Aufgabe wohl genau um den Multiplexer im Sequencer (v.Neumann lässt grüssen...), der den nächsten PC-Wert auswählt und wieviele Eingänge er hat. Es sind 8, davon ist der PC:=PC+2-Eingang der Defaultfall.
Winfried J. schrieb: > Das bedeutet du must die Opcode gruppieren nach der länge der > zugehörigen Parameter > > Die meißten opcode haben einen Einbyte parameter d.h der nächste Befehl > beginnt beim übernächsten Byte. > > Du sollst die die Ausnahmen benennen. also ich würde das als einen Grund der sieben Möglichkeiten ansehen, egal wie viele OP-Codes es gibt, die länger als 2 Byte sind.
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.