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.
sorry parameter heißt operand
Ihr denkt alle etwas zu einseitig...
und was bedeutet das nun genau mit einseitig denken?
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.
Ganz nebenbei bemerkt: es gibt auch noch die Interrupts....
und Sprungbefehe und Vergleiche
...und den Reset...
Na also ;) Und wenn man die Sprünge noch nach der Herkunft des Sprungziels sortiert, gehts auch mit den 7 Stück auf.
2-Word Befehle Sprung Skip Call RET/RETI Interrupt Reset
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.
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.