Instrucción: BRLO |
Función: | Desvío si es menor |
Sintaxis: | BRLO k |
Código de Operación de 16 bit |
1111 |
01kk | kkkk | k000 |
Operación: | Si Rd < Rr(C = 1) entonces PC Ü PC + k + 1, sino |
Operandos: | -64 £ k £ +63 |
Words: | 1 (2 bytes) |
Ciclos: | 1 si la condición es falsa |
2 si la condición es verdadera | |
Flags: | Ninguno |
Program Counter: | PC Ü PC + k + 1 |
PC Ü PC + 1, si la condición es falsa |
Descripción: BRLO realiza un desvío condicional relativo. Hace un test del flag de carry (C) y se desvía relativamente a PC si C está a set. Si la instrucción se ejecuta inmediatamente después de alguna de las instrucciones CP, CPI, SUB o SUBI, el desvío puede ocurrir si y sólo si el número binario con o sin signo representado en Rd es menor al número binario con o sin signo representado en Rr. Esta instrucción desvía relativamente a PC (Program Counter) en cualquier dirección (PC - 63 £ destino £ PC + 64). El parámetro k es el offset de PC y es representado en forma de complemento a dos. (Equivalente a la instrucción BRBS 0, k). |
|
Ejemplo: |
|
EOR r19,r19 | ; Borrar r19 |
loop: INC r19 |
; Incrementar r19 |
... |
|
CPI r19,$10 |
; Comparar r19 con $10 |
BRLO loop |
; Desvío si r19 < $10 (Sin signo) |
NOP | ; Salida de loop (No hacer nada) |