b (Sucursal) instrucción

Finalidad

Ramas a una dirección de destino especificada.

Sintaxis

Bits VALOR
0 - 5 18
6 - 29 LL
30 AA
31 LK

Descripción

Las ramas de instrucción b a una instrucción especificada por la dirección de destino de la rama. La dirección de destino de ramificación se calcula de dos maneras.

Tenga en cuenta lo siguiente al utilizar la instrucción b :

  • Si el bit de dirección absoluta (AA) es 0, la dirección de destino de rama se calcula concatenando el campo LI de 24 bits. Este campo se calcula restando la dirección de la instrucción de la dirección de destino y dividiendo el resultado por 4 y b'00'. El resultado es entonces signo-extendido a 32 bits y añadido a la dirección de esta instrucción de rama.
  • Si el bit AA es 1, la dirección de destino de la rama es el campo LI concatenado con b'00'sign-extendida a 32 bits. El campo LI es el orden bajo de 26 bits de la dirección de destino dividida por cuatro.

La instrucción b tiene cuatro formas de sintaxis. Cada formulario de sintaxis tiene un efecto diferente en el bit de enlace y en el registro de enlaces.

Elemento Descripción
Formulario de sintaxis Absoluto Bit de dirección (AA) Punto fijo Registro de excepciones Bit de enlace (LK) Condición Registro de campo 0
B 0 Ninguna 0 Ninguna
BA 1 Ninguna 0 Ninguna
BL 0 Ninguna 1 Ninguna
bla 1 Ninguna 1 Ninguna

Los cuatro formatos de sintaxis de la instrucción b nunca afectan al registro de excepciones de punto fijo o al campo de registro de condición 0. Los formularios de sintaxis establecen el bit AA y el bit de enlace (LK) y determinan qué método de cálculo se utiliza la dirección de destino de ramificación. Si el bit de enlace (LK) se establece en 1, la dirección efectiva de la instrucción se coloca en el Registro de enlaces.

Parámetros

Elemento Descripción
dirección_destino Especifica la dirección de destino.

Ejemplos

  1. El código siguiente transfiere la ejecución del programa athere:
    
    here: b there
          cror 31,31,31
    # The execution of the program continues at there.
    there:
    
  2. El código siguiente transfiere la ejecución del programa aherey establece el registro de enlaces:
    
            bl here
    return: cror 31,31,31
    # The Link Register now contains the address of return.
    # The execution of the program continues at here.
    here: