|
An diesem Artikel arbeitet gerade Mitglied SprinterSB.
Am besten momentan noch keine gravierenden Ergänzungen / Änderungen vornehmen.
Dieser Hinweis verschwindet wenn der Autor soweit ist. Sollte dieser Hinweis länger als drei Tage auf einer Seite sein, bitte beim Autor SprinterSB per PM / Mail oder Forum nachfragen ob er vergessen wurde.
|
Tabelle: Constraints und ihre Bedeutung
Contraint |
Erklärung |
Wertebereich
|
a |
einfache obere Register |
r16...r23
|
b |
Pointer-Register |
y, z
|
d |
obere Register |
r16...r31
|
e |
Pointer-Register |
x, y, z
|
G |
Floatingpoint-Konstante |
0.0
|
i |
Konstante |
|
I |
positive 6-Bit-Konstante |
0...63
|
J |
negative 6-Bit Konstante |
-63...0
|
K |
Konstante |
2
|
L |
Konstante |
0
|
l |
untere Register |
r0...r15
|
M |
8-Bit Konstante |
0...255
|
N |
Konstante |
-1
|
O |
Konstante |
8, 16, 24
|
P |
Konstante |
1
|
q |
Stack-Pointer |
SPH:SPL
|
r |
ein Register |
r0...r31
|
t |
Scratch-Register |
r0
|
w |
Obere Register-Paare |
r24, r26, r28, r30
|
x |
Pointer-Register X |
x (r27:r26)
|
y |
Pointer-Register Y |
y (r29:r28)
|
z |
Pointer-Register Z |
z (r31:r30)
|
Tabelle: Übersicht AVR-Instruktionen und passende Constraints
Mnemonic |
Constraint |
|
Mnemonic |
Constraint |
|
Mnemonic |
Constraint |
|
Mnemonic |
Constraint |
|
adc |
r,r
|
add |
r,r
|
adiw |
w,I
|
and |
r,r
|
andi |
d,M
|
asr |
r
|
bclr |
I
|
bld |
r,I
|
brbc |
I,label
|
brbs |
I,label
|
bset |
I
|
bst |
r,I
|
cbi |
I,I
|
cbr |
d,I
|
com |
r
|
cp |
r,r
|
cpc |
r,r
|
cpi |
d,M
|
cpse |
r,r
|
dec |
r
|
elpm |
t,z
|
eor |
r,r
|
in |
r,I
|
inc |
r
|
ld |
r,e
|
ldd |
r,b
|
ldi |
d,M
|
lds |
r,label
|
lpm |
t,z
|
lsl |
r
|
lsr |
r
|
mov |
r,r
|
movw |
r,r
|
mul |
r,r
|
neg |
r
|
or |
r,r
|
ori |
d,M
|
out |
I,r
|
pop |
r
|
push |
r
|
rol |
r
|
ror |
r
|
sbc |
r,r
|
sbci |
d,M
|
sbi |
I,I
|
sbic |
I,I
|
sbiw |
w,I
|
sbr |
d,M
|
sbrc |
r,I
|
sbrs |
r,I
|
ser |
d
|
st |
e,r
|
std |
b,r
|
sts |
label,r
|
sub |
r,r
|
subi |
d,M
|
swap |
r
|
|