instrucción lhz (Cargar media y cero)
Finalidad
Carga una media palabra de datos de una ubicación especificada en la memoria en un registro de propósito general y establece los 16 bits restantes en 0.
Sintaxis
| Bits | VALOR |
|---|---|
| 0 - 5 | 40 |
| 6 - 10 | RT |
| 11 - 15 | RA |
| 16 - 31 | D |
Descripción
La instrucción lhz carga una media palabra de datos de una ubicación especificada en la memoria, dirigida por la dirección efectiva (EA), en los bits 16-31 del registro de propósito general de destino (GPR) RT y establece los bits 0-15 de GPR RT en 0.
Si el GPR RA no es 0, el EA es la suma del contenido del GPR RA y D, un signo de entero de complemento de 16 bits, ampliado a 32 bits. Si el GPR RA es 0, el EA es D.
La instrucción lhz tiene un formato de sintaxis y no afecta al registro de excepción de punto fijo o al campo de registro de condición 0.
Parámetros
| Elemento | Descripción |
|---|---|
| RT | Especifica el registro de propósito general de destino donde se almacena el resultado de la operación. |
| S | 16 bits, signo entero de complemento de dos-ampliado a 32 bits para el cálculo de EA. |
| RA | Especifica el registro de propósito general de origen para el cálculo de EA. |
Ejemplos
El código siguiente carga una media palabra de datos en los bits 16-31 del GPR 6 y establece los bits 0-15 del GPR 6 en 0:
.csect data[rw]
storage: .short 0xffff
# Assume GPR 4 holds the address of csect data[rw].
.csect text[pr]
lhz 6,storage(4)
# GPR 6 now holds 0x0000 ffff.