Syntax: |
TST Rd
|
Funktion: |
Dieser Befehl testet, ob ein Register negativ oder Null ist, indem eine logische UND-
Verknüpfung des Registers mit sich selbst vorgenommen wird. Das Register selbst bleibt
unverändert.
|
Operation: |
Rd ← Rd • Rd
|
Operanden: |
0 ≤ d ≤ 31
|
Programmzähler: |
PC ← PC + 1
|
Words: |
1 (2 Byte)
|
Zyklen: |
1
|
16 Bit Operations Code: |
0010 00dd dddd dddd
|
Flags im Status-Register (SREG):
S: |
Das S-Flag wird gesetzt, wenn das N-Flag gesetzt ist, andernfalls wird das
S-Flag gelöscht.
|
V: |
Das V-Flag wird gelöscht.
|
N: |
Das N-Flag wird gesetzt, wenn das MSB des Ergebnisses gesetzt ist, andernfalls
wird es gelöscht.
|
Z: |
Das Z-Flag wird gesetzt, wenn das Ergebnis 00h ist, andernfalls wird das Flag
gelöscht.
|
Beispiel:
tst r0 ;R0 testen
breq null ;Sprung, wenn R0 = 0
...
null:
nop ;Sprungziel, Leerbefehl