3: Referencia del Lenguaje Ensamblador –
WAITCNT
instrucción: Detiene la ejecución del cog temporalmente.
WAITCNT
Target,
Delta
#
Result: Target + Delta se almacena en Target.
Target
(campo-d) es el registro con el valor objetivo a comparar contra el contador del
CNT
sistema (
). Cuando el contador del sistema alcanza el valor Target, Delta se suma
a Target y la ejecución continua en la siguiente instrucción.
Delta
(campo-s) es el registro o literal de 9-bit cuyo valor se suma a Target en
preparación para la siguiente instrucción
sincronizada de retraso.
Tabla Opcode:
–INSTR– ZCRI –CON–
–DEST–
111110 001i 1111 ddddddddd sssssssss
Tabla de verdad:
Destino
$0000_0000; 0
$FFFF_FFFF; 4,294,967,295
$0000_0000; 0
Explicación
WAITCNT
, "Wait for System Counter," es una de cuatro instrucciones (
WAITPNE
WAITVID
, y
) que se usan para detener un cog hasta cumplir con una condición. La
WAITCNT
instrucción
detiene el cog hasta que el contador global del sistema iguala el valor en
Target, entonces suma Delta a Target y continua la ejecución en la siguiente instrucción. La
WAITCNT
instrucción
se comporta similar a la instrucción
WAITCNT
sincronizados. Ver
Si se especifico el efecto
WC
Si el efecto
se especifica, la bandera C se activa (1) si la suma de Target y Delta resulta en
un acarreo de 32-bit (sobre flujo). El resultado se escribe en Target a menos que el efecto
se especifique.
–SRC–
Resultado Z
Result = 0
Entrada
Fuente
$0000_0000; 0
$0000_0001; 1
$0000_0001; 1
en Pág. 223.
WZ
, la bandera Z se active (1) si la suma de Target y Delta es cero.
WAITCNT
. Esto genera una ventana
Resultado C
Unsigned Carry
Z C Efectos
Destino
wz wc
- -
$0000_0000; 0
wz wc
- -
$0000_0000; 0
wz wc
- -
$0000_0001; 1
WAITCNT
Propeller Manual v1.1 · Page 383
WAITCNT
Resultado
Ciclos
Written
5+
Salida
Z C
1
0
1
1
0
0
WAITCNT
WAITPEQ
,
,
spin para retrasos
NR