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 |
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. |
- El bit
zindica un bit que debe ser 0. Si el bit no es 0, el formulario de instrucción no es válido. - El bit
yproporciona 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:
| 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 |
|---|---|
| Objeto de negocio | Especifica el campo Opción de ramificación. |
| BI | Especifica el bit en el registro de condición para la comparación de condiciones. |
| BH | Proporciona una sugerencia sobre el uso de la instrucción. |
Ejemplos
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'.