instrucción bclr o bcr (Branch Condicional Link Register)

Finalidad

Se bifurca condicionalmente a una dirección contenida en el registro de enlace.

Sintaxis

Bits Valor
0 - 5 19
6 - 10 BO
11 - 15 BI
16 - 18 ///
19 - 20 BH
21 - 30 16
31 LK
PowerPC®
Familia POWER ® 

Descripción

Las instrucciones bclr y bcr se ramifican a una instrucción especificada por la dirección de destino de la ramificación. La dirección de destino de ramificación es la concatenación de los bits 0-29 del registro de enlace y b '00'.

Las instrucciones bclr y bcr tienen dos formatos de sintaxis. Cada formulario de sintaxis tiene un efecto diferente en el bit de enlace y en el registro de enlace.

Formulario de sintaxis Bit de dirección absoluta (AA) Registro de excepciones de punto fijo Bit de enlace (LK) Campo de registro de condición 0
bclr Ninguna Ninguna 0 Ninguna
bclrl Ninguna Ninguna 1 Ninguna
bcr Ninguna Ninguna 0 Ninguna
bcrl Ninguna Ninguna 1 Ninguna

Las dos formas de sintaxis de la instrucción bclr y bcr nunca afectan al registro de excepción de punto fijo o al campo de registro de condición 0. Si el bit de enlace (LK) es 1, la dirección efectiva de la instrucción que sigue a la instrucción de ramificación se coloca en el registro de enlace.

El campo Opción de ramificación (BO) se utiliza para combinar distintos tipos de ramificaciones en una sola instrucción. Se proporcionan mnemotécnicos ampliados para establecer automáticamente el campo Opción de ramificación.

La codificación para el campo BO se define en la arquitectura PowerPC® . La lista siguiente proporciona breves descripciones de los valores posibles para este campo:

BO Descripción
0000y Disminuya el CTR; a continuación, bifurque si el CTR decrementado no es 0 y la condición es False.
0001y Disminuya el CTR; a continuación, bifurque si el CTR decrementado es 0 y la condición es False.
001zy Bifurcar si la condición es False.
0100y Decremente el CTR; a continuación, bifurque si los bits del CTR decrementado no son 0 y la condición es True.
0101y Disminuya el CTR; a continuación, bifurque si el CTR decrementado es 0 y la condición es True.
011zy Bifurcar si la condición es True.
1z00y Decremente el CTR; a continuación, bifurque si el CTR decrementado no es 0.
1z01y Disminuya el CTR; a continuación, bifurque si el CTR decrementado es 0.
1z1zz Ramificar siempre.
En la arquitectura PowerPC® , los bits son los siguientes:
  • El bit z indica un bit que debe ser 0. Si el bit no es 0, el formulario de instrucción no es válido.
  • El bit y proporciona una sugerencia sobre si es probable que se tome una rama condicional. El valor de este bit puede ser 0 o 1. El valor predeterminado es 0.

En la arquitectura de la familia POWER ®, los bits z y y pueden ser 0 o 1.

La codificación para el campo BO utilizando la codificación V2.00 se describe brevemente a continuación:

Tabla 1. Valores de campo de objeto de negocio utilizando V2.00 Codificación
BO Descripción
0000z Disminuya el CTR; a continuación, bifurque si el CTR decrementado no es 0 y la condición es False.
0001z Disminuya el CTR; a continuación, bifurque si el CTR decrementado es 0 y la condición es False.
001at Bifurcar si la condición es False.
0100z Decremente el CTR; a continuación, bifurque si los bits del CTR decrementado no son 0 y la condición es True.
0101z Disminuya el CTR; a continuación, bifurque si el CTR decrementado es 0 y la condición es True.
011at Bifurcar si la condición es True.
1a00t Decremente el CTR; a continuación, bifurque si el CTR decrementado no es 0.
1a01t Disminuya el CTR; a continuación, bifurque si el CTR decrementado es 0.
1z1zz Ramificar siempre.

El software puede utilizar los bits a y t del campo BO para proporcionar una sugerencia sobre si es probable que se tome una rama, tal como se muestra a continuación:

at Sugerencia
00 No se proporciona ninguna sugerencia.
01 Reservado
01 Es muy probable que no se tome la rama.
5 Es muy probable que se tome la rama.

El campo de sugerencia de rama (BH) se utiliza para proporcionar una sugerencia sobre el uso de la instrucción, tal como se muestra a continuación:

BH Sugerencia
00 La instrucción no es un retorno de subrutina; es probable que la dirección de destino sea la misma que la dirección de destino utilizada la hora anterior a la que se tomó la ramificación.
01 Reservado
10 Reservado
5 La dirección de destino no es previsible.

Parámetros

Elemento Descripción

Ejemplos

El código siguiente se bifurca en la dirección de destino de bifurcación calculada dependiente del bit 0 del registro de condición, y no se proporciona ninguna sugerencia de bifurcación:

bclr 0x0,0,0
# The Count Register is decremented.
# A branch occurs if the LT bit is set to zero in the
# Condition Register and if the Count Register 
# does not equal zero.
# If the conditions are met, the instruction branches to
# the concatenation of bits 0-29 of the Link Register and b'00'.