Hola Javier,
Si sirve el comando DIG, el error es de el manual, pasa lo siguiente:
Para extraer el valor deseado, hay que especificar con el numero de digito siguiente de la variable a la que vas a extraer el digito, en tu ejemplo tu tienes especificado el digito 0!!! con esto, tu estas extrayendo el bit 0 de la variable (valor decimal 4 ), no el primer digito (bit 1 de la variable con valor 2 decimal), no se si sera error de el manual del 1.24, pues la version que tengo yo es la 2.1.3 y viene excatamente los mismos ejemplos, y este viene con un digito 1 no cero(a lo mejor la version mas nueva 2.1.3 ya viene corregido ese y otros errores de escritura del manual, ya que probe en el soft 1.24j y funciono el comando) , si quieres que extraiga el valor 2 tienes que poner el bit 1 logicamente, y te funcionara, si quieres el tercer valor tienes que poner el bit2 y asi sucesvamente.
Probe en ambos 1.24 y 2.13 y funciona de maravilla este comando .
El comando funciona de la siguiente forma :
Variable = DIG Value , Digit number
donde variable es es la variable donde guardara el valor extraido
DIG es el comando
Value es el valor o la variable de donde vas a extraer el digito
y numero digito es el BIT que quieres extraer de Value
Siempre acuerdate de que el primer bit es el 0 y el septimo es el bit 7.
Aqui te pongo el ejemplo que tome del manual 2.1.4:
DIM VAR1 as BYTE
DIM VAR2 as BYTE
VAR1 = 124
VAR2 = DIG VAR1 , 1 <---- aqui esta el detalle
PRINT at 1,1,@VAR2
Espero que te sirva la informacion javier
Saludos pana