Instrucción: BRGE |
Función: | Desvío si es mayor o igual (con signo) |
Sintaxis: | BRGE k |
Código de Operación de 16 bit |
1111 |
01kk | kkkk | k100 |
Operación: | Si Rd ³ Rr (N ÅV = 0) entonces PC Ü PC + k + 1, sino |
PC Ü PC + 1 | |
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: BRGE realiza un desvío condicional relativo. Hace un test del flag de signo (S) y se desvía relativamente a PC si S está borrado. 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 signo representado en Rd es mayor o igual al número binario con 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 BRBC 4, k). |
|
Ejemplo: |
|
CP r11,r12 | ; Comparar los registros r11 y r12 |
BRGE greateq |
; Desvío si r11 = r12 (con signo) |
... |
|
greateq: NOP | ; Destino de desvío (No hacer nada) |