Hola:
el comando DIG es para coger uno a uno los digitos que forman el numero que quiero ver en el display, en caso de que cont que es la variable que contiene el valor a ser visualizado es 3456 y hago esto:
unid = cont dig 0
entonces en la variable unidad almaceno el primer digito que corresponderia al 6, asi mismo para las decenas, centeas y miles.
y lo de los datos 16, 32, 64 y 128 es para activar cada uno de los displays, por ejemplo, si miras el circuito notaras que el portb esta dividido logicamente en dos partes, en donde los 4 bits menos significativos son para el envio del dato, y los cuatro ultimos bits mas significativos son para activar el display en el que quiero ver ese dato. Ejemplo
cont=0
PORTB = cont +16
eso me visualizara el 0 en el primer display, ya que el valor en binario que voy a tener en el port b seria 00010000 en donde los menos significativos corresponden al valor que quiero ver y solo activo uno de los displays para poder ver el dato.
Espero que este claro, sino me avisas para aclararte mas las cosas.
Suerte...