Syntax: Operands: Program Counter:
(i) BRSH k -64 k +63 PC PC + k + 1
PC PC + 1, if condition is false
16-bit Opcode:
Status Register (SREG) and Boolean Formula:
I T H S V N Z C
Exemplu:
subi r19,4 ; Subtract 4 from r19
brsh highsm ; Branch if r19 >= 4 (unsigned)
…
highsm: nop ; Branch destination (do nothing)
BRLO - Branch if Lower (Unsigned)
Descriere:
Salt condiţionat relativ. Testează “indicatorul Carry”; dacă acesta este “1” logic, PC creşte cu k+1 altfel creşte normal cu 1. Indicatorul C este 1 dacă Rd Rr , în registre fiind numere cu sau fară semn. Saltul se face cu +k sau –k. Parametru k este un deplasament faţă de valoarea din PC şi este reprezentat în complement faţă de 2.
Operation:
(i) If Rd < Rr (C = 1) then PC PC + k + 1, else PC PC + 1
Syntax: Operands: Program Counter:
(i) BRLO k -64 k +63 PC PC + k + 1
PC PC + 1, if condition is false
16-bit Opcode:
Status Register (SREG) and Boolean Formulae:
I T H S V N Z C
Exemplu:
eor r19,r19 ; Clear r19
loop: inc r19 ; Increase r19
…
cpi r19,$10 ; Compare r19 with $10
brlo loop ; Branch if r19 < $10 (unsigned)
nop ; Exit from loop (do nothing)
BRMI - Branch if Minus
Descriere:
Salt condiţionat relativ. Testează indicatorul “N”; dacă acesta e “1” logic, PC creşte cu k+1 altfel creşte normal cu 1. Saltul se face cu +k sau –k. Parametru k este un deplasament faţă de valoarea din PC şi este reprezentat în complement faţă de 2.
Operation:
-
If N = 1 then PC PC + k + 1, else PC PC + 1
Syntax: Operands: Program Counter:
(i) BRMI k -64 k +63 PC PC + k + 1
PC PC + 1, if condition is false
16-bit Opcode:
Status Register (SREG) and Boolean Formula:
I T H S V N Z C
Exemplu:
subi r18,4 ; Subtract 4 from r18
brmi negative ; Branch if result negative
…
negative: nop ; Branch destination (do nothing)
BRPL - Branch if Plus
Descriere:
Salt condiţionat relativ. Testează indicatorul “N”; dacă acesta e “0” logic, PC creşte cu k+1 altfel creşte normal cu 1. Saltul se face cu +k sau –k. Parametru k este un deplasament faţă de valoarea din PC şi este reprezentat în complement faţă de 2.
Operation:
(i) If N = 0 then PC PC + k + 1, else PC PC + 1
Syntax: Operands: Program Counter:
(i) BRPL k -64 k +63 PC PC + k + 1
PC PC + 1, if condition is false
16-bit Opcode:
Status Register (SREG) and Boolean Formula:
I T H S V N Z C
Exemplu:
subi r26,$50 ; Subtract $50 from r26
brpl positive ; Branch if r26 positive
…
positive: nop ; Branch destination (do nothing)
BRGE - Branch if Greater or Equal (Signed)
Descriere:
Salt condiţionat relativ. Testează “bitul de semn S”; dacă acesta e “0 logic”, PC creşte cu k+1 altfel creşte normal cu 1. Indicatorul S este 0 dacă Rd Rr , în registre fiind numere cu sau fară semn. Saltul se face cu +k sau –k. Parametru k este un deplasament faţă de valoarea din PC şi este reprezentat în complement faţă de 2.
Operation:
(i) If Rd Rr (N V = 0) then PC PC + k + 1, else PC PC + 1
Dostları ilə paylaş: |