LOADWORDADR/de
(→Remarks) |
|||
Line 31: | Line 31: | ||
Der erzeugte Code : | Der erzeugte Code : | ||
− | + | LDI R30,Low(label * 2) | |
− | + | ||
− | + | LDI R31,High(label * 2) | |
− | + | LDI R24,1 or CLR R24 | |
− | + | STS RAMPZ, R24 | |
− | + | | |
<span style="font-family: arial;">Die Programmspeicher der AVR sind Wortorganisiert. Um eine Byteadresse zu erzeugen, muss diese mit 2 multipliziert werden. Das RAMPZ-Register bildet mit dem Z-Register das Adressregister.</span> | <span style="font-family: arial;">Die Programmspeicher der AVR sind Wortorganisiert. Um eine Byteadresse zu erzeugen, muss diese mit 2 multipliziert werden. Das RAMPZ-Register bildet mit dem Z-Register das Adressregister.</span> | ||
− | Die Multiplikation mit 2 wirkt auf das Z-Register wie ein Linkshift, sodaß das Bit0 zu 0 wird. Mit dem Bit0 wird selektiert, ob das Low-Byte(0) oder das High-Byte(1) eines Wortes im Programmspeicher adressiert wird. Das RAMPZ erweitert den 15Bit-breiten Abdressraum des Z-Register, sodaß auch Adressen | + | Die Multiplikation mit 2 wirkt auf das Z-Register wie ein Linkshift, sodaß das Bit0 zu 0 wird. Mit dem Bit0 wird selektiert, ob das Low-Byte(0) oder das High-Byte(1) eines Wortes im Programmspeicher adressiert wird. Das RAMPZ erweitert den 15Bit-breiten Abdressraum des Z-Register, sodaß auch Adressen |
des Programmspeichers über 64KB hinaus adressiert werden können. | des Programmspeichers über 64KB hinaus adressiert werden können. |
Revision as of 23:39, 22 February 2013
Contents |
Funktion
Läd das Z-Register und sezt RAMPZ wenn vorhanden.
Syntax
LOADWORDADR label
Anmerkungen
label |
Der Name des Labels dessen Adresse in das Registerpaar R30|R31 (Z-Register) geladen wird. |
Der erzeugte Code :
LDI R30,Low(label * 2)
LDI R31,High(label * 2)
LDI R24,1 or CLR R24
STS RAMPZ, R24
Die Programmspeicher der AVR sind Wortorganisiert. Um eine Byteadresse zu erzeugen, muss diese mit 2 multipliziert werden. Das RAMPZ-Register bildet mit dem Z-Register das Adressregister.
Die Multiplikation mit 2 wirkt auf das Z-Register wie ein Linkshift, sodaß das Bit0 zu 0 wird. Mit dem Bit0 wird selektiert, ob das Low-Byte(0) oder das High-Byte(1) eines Wortes im Programmspeicher adressiert wird. Das RAMPZ erweitert den 15Bit-breiten Abdressraum des Z-Register, sodaß auch Adressen
des Programmspeichers über 64KB hinaus adressiert werden können.
Beispielsweise verfügt der Atmega128 128KB Programmspeicher. Das RAMPZ-Register hat dabei die Aufgabe den oberen oder unteren 64KB Bereich
zu selektieren.
See also
Example
LOADWORDADR label
Languages | English • Deutsch |
---|