LOADWORDADR/de

(Difference between revisions)
Jump to: navigation, search
(Undo revision 3828 by Galahat (talk))
Line 3: Line 3:
 
Läd das Z-Register und sezt RAMPZ wenn vorhanden.
 
Läd das Z-Register und sezt RAMPZ wenn vorhanden.
  
<span style="font-family: Arial;">&nbsp;</span>
+
<span style="font-family: arial;">&nbsp;</span>
  
<span style="font-family: Arial;">&nbsp;</span>
+
<span style="font-family: arial;">&nbsp;</span>
  
 
= <span class="f_Header">Syntax</span> =
 
= <span class="f_Header">Syntax</span> =
Line 11: Line 11:
 
<span class="f_Syntax">LOADWORDADR&nbsp;</span>label
 
<span class="f_Syntax">LOADWORDADR&nbsp;</span>label
  
<span style="font-family: Arial;">&nbsp;</span>
+
<span style="font-family: arial;">&nbsp;</span>
  
<span style="font-family: Arial;">&nbsp;</span>
+
<span style="font-family: arial;">&nbsp;</span>
  
 
= <span class="f_Header">Anmerkungen</span> =
 
= <span class="f_Header">Anmerkungen</span> =
Line 55: Line 55:
 
<span style="font-family: arial;">&nbsp;</span>
 
<span style="font-family: arial;">&nbsp;</span>
  
= <span class="f_Header">Siehe auch</span> =
+
= <span class="f_Header">See also</span> =
  
 
,&nbsp;
 
,&nbsp;
Line 65: Line 65:
 
= <span class="f_Header">Beispiel</span> =
 
= <span class="f_Header">Beispiel</span> =
  
<br/><source lang="bascomavr"></source><br/>
+
<br/>

Revision as of 23:41, 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

 

 

Beispiel


Personal tools
Namespaces
Variants
Actions
Navigation
In other languages
Language