CMOV |
Top |
Mueve datos si el acumulador tiene el bit 0 en 1 (ejecución condicional). Es la versión condicional de MOVE.
LD 1
CMOV
org, dst ;el movimiento se efectúa
LD 0
CMOV org, dst ;se omite
org: dato de origen (digital, analógica o constante)
dst: dato de destino (digital o analógica)
También se puede hacer con largos y reales, siempre que ambos argumentos sean del mismo tipo.
La excepción es copiar un entero a un largo, pero solo se copiará la mitad (16bit)
El copiado de va0 a va1 depende de que el valor leído de e0 ponga en 1 el bit 0 del acumulador.
Esta instrucción está a partir de el CP121 BIOS 2.07, CP122 BIOS 2.00, CP123 BIOS 2.01, CP124 BIOS 1.00, CP125 BIOS 1.00, CP220 BIOS 1.00
.
Conversión de tipos
A partir de CP121 BIOS 2.61, CP122 BIOS 2.11, CP123 BIOS 2.21, CP124 BIOS 1.07, CP125 BIOS 1.01 y CP220 BIOS 1.00 la instrucción sirve para hacer conversiones entre 16 y 32 bit.
Las reglas de conversión son:
De 16 a 32 bit es directo, sin cambios
De 32 a 16 bit el valor es truncado a los límites de 16 bit solo cuando el valor de 32 bit excede el de 16 bit, sino es sin cambios