J
jetmarc
Guest
Hallo,
ich habe einige Fragen zum MSP430, bezueglich der Byte-Zugriffe, fuer
die es einen MSP430 Profi braucht, oder jemanden der einen Emulator
hat:
1. Wenn ich einen Byte-Befehl benutze, der in ein Register schreibt,
was passiert dann mit dem Highbyte des Registers?
zB R4 = 0x1234
R5 = 0x5678
MOV.B R4,R5
R5 = 0x??34
2. Wenn ich einen Word-Zugriff auf das RAM oder Flash mache, aber eine
ungerade Adresse benutze, was passiert dann? Im Datenblatt steht,
Word-Zugriffe gehen immer auf gerade Adressen. Kann ich davon
ausgehen, dass normale (=compiler-generierte) Software niemals
Word-Zugriffe auf ungerade Adressen ausfuehrt? Was wuerde in den
existierenden Chips passieren?
3. Was hat es mit den SFR Registern auf sich (ab Adresse 0x0000), wofuer
werden sie benutzt?
4. Was bedeutet der Addressierungsmode S-reg=R2/CG1 mit As=01? Im
Datenblatt steht "(0) Absolute address mode" aber darunter kann ich
mir nichts vorstellen. Ein Beispiel waere der Opcode:
0x4215
der "(0)" in R5 ablegt. Was ist "(0)", woher stammen die Daten die
nach R5 abgelegt werden?
Vielen Dank schon mal im Vorraus,
Marc
ich habe einige Fragen zum MSP430, bezueglich der Byte-Zugriffe, fuer
die es einen MSP430 Profi braucht, oder jemanden der einen Emulator
hat:
1. Wenn ich einen Byte-Befehl benutze, der in ein Register schreibt,
was passiert dann mit dem Highbyte des Registers?
zB R4 = 0x1234
R5 = 0x5678
MOV.B R4,R5
R5 = 0x??34
2. Wenn ich einen Word-Zugriff auf das RAM oder Flash mache, aber eine
ungerade Adresse benutze, was passiert dann? Im Datenblatt steht,
Word-Zugriffe gehen immer auf gerade Adressen. Kann ich davon
ausgehen, dass normale (=compiler-generierte) Software niemals
Word-Zugriffe auf ungerade Adressen ausfuehrt? Was wuerde in den
existierenden Chips passieren?
3. Was hat es mit den SFR Registern auf sich (ab Adresse 0x0000), wofuer
werden sie benutzt?
4. Was bedeutet der Addressierungsmode S-reg=R2/CG1 mit As=01? Im
Datenblatt steht "(0) Absolute address mode" aber darunter kann ich
mir nichts vorstellen. Ein Beispiel waere der Opcode:
0x4215
der "(0)" in R5 ablegt. Was ist "(0)", woher stammen die Daten die
nach R5 abgelegt werden?
Vielen Dank schon mal im Vorraus,
Marc