Esto active P5 a salida. Todos los demás bits de
E/S) se quedan en el estado previo.
DIRA
El registro
soporta una forma especial de expresión llamada expresión de rango, el cual
permite afectar un grupo de pins E/S al mismo tiempo sin afectar a otros fuera del rango
especificado. Para afectar pins E/S múltiples o seguidos al mismo tiempo use una expresión
de rango (como x..y) en el campo de pin(s).
DIRA[5..3]~~
Esto active P5, P4 y P3 a salidas y los otros bits del registro
previne. Aquí otro ejemplo:
DIRA[5..3] := %110
El ejemplo de arriba activa 5, 4 y 3 de
demás bits en el estado previo. Consecuentemente P5 y P4 ahora son salidas y P3 es entrada.
IMPORTANTE: El orden de los valores en la expresión de rango afecta según es utilizado.
Por ejemplo, en los siguientes ejemplos el orden de la expresión de rango intercambia el
orden del ejemplo anterior.
DIRA[3..5] := %110
Aquí los bits 3, 4 y 5 se igualan a 1, 1, y 0 en el registro
una entrada.
Las expresiones de rango son una característica ponderosa, pero si no se tiene cuidado,
también puede causar extraños comportamientos y resultados no intencionados.
DIRA
Normalmente
solo se escribe pero también puede leer para obtener la lectura de los
estados actuales de E/S. El siguiente ejemplo asume que
cualquier otro lado:
Temp := DIRA[7..4]
El ejemplo de arriba active
Temp
mas bajos de
ahora son iguales a
2: Referencia de Lenguaje Spin –
DIRA
'Activa bits 5 a 3 de dira (P5-P3 a salida)
'Activa P5 y P4 a salida, P3 a entrada
DIRA
a 1, 1 y 0 respectivamente, dejando todos los
'Activa P3 y P4 a salida, P5 a entrada
'Obtiene la dirección de P7 a P4
Temp
igual a los bits 7, 6, 5 y 4 de
DIRA7:4
y los otros bits de
DIRA, DIRB
(y por lo tanto todos los demás pins
DIRA
permanecen en su estado
DIRA
, hacienda P3 y P4 salidas y P5
Temp
es una variable creada en
DIRA
; por ejemplo, los 4 bits
Temp
se limpian a cero.