Buenas tengo una duda hace un tiempo sobre este programilla de un reloj y su bucle es, que no se como hace el incremento de unidades a decenas (es decir cuando la unidad llega a 9 incrementa de uno en uno hasta 5 la decena y hace el mismo incremento a min y h se repite el caso en seg, min, horas) .
Si me lo pudieran explicar
Muchas gracias
' {$STAMP BS2}
' {$PBASIC 2.5}
D0 CON 8
D1 CON 9
CONTA CON 43
SEGUNDOS VAR Byte
MINUTOS VAR Byte
HORAS VAR Byte
CONTADOR VAR Byte
AUX_0 VAR Byte
AUX_1 VAR Byte
AUX VAR Byte
DIRL=$FF
DIRC=%0111
INICIO:
SEGUNDOS=$0
MINUTOS=$0
HORAS=$0
BUCLE:
FOR HORAS.NIB1=0 TO 2
FOR HORAS.NIB0=0 TO 9
FOR MINUTOS.NIB1=0 TO 5
FOR MINUTOS.NIB0=0 TO 9
FOR SEGUNDOS.NIB1=0 TO 5
FOR SEGUNDOS.NIB0=0 TO 9
FOR CONTADOR= 0 TO CONTA
OUTL=AUX_0
HIGH D0
PAUSE 10
LOW D0
OUTL=AUX_1
HIGH D1
PAUSE 10
LOW D1
NEXT
IF IN12=1 THEN CARGAR_SEGUNDOS
IF IN13=1 THEN CARGAR_MINUTOS
IF IN14=1 THEN CARGAR_HORAS
PAUSE 3
CONTINUAR:
NEXT
NEXT
NEXT
NEXT
IF HORAS=%00100100 THEN INICIO
NEXT
NEXT
GOTO INICIO
CARGAR_SEGUNDOS:
AUX=SEGUNDOS.NIB0
GOSUB TABLA
AUX_0=AUX
AUX=SEGUNDOS.NIB1
GOSUB TABLA
AUX_1=AUX
GOTO CONTINUAR
CARGAR_MINUTOS:
AUX=MINUTOS.NIB0
GOSUB TABLA
AUX_0=AUX
AUX=MINUTOS.NIB1
GOSUB TABLA
AUX_1=AUX
GOTO CONTINUAR
CARGAR_HORAS:
AUX=HORAS.NIB0
GOSUB TABLA
AUX_0=AUX
AUX=HORAS.NIB1
GOSUB TABLA
AUX_1=AUX
GOTO CONTINUAR
TABLA:
BRANCH AUX,[CERO,UNO,DOS,TRES,CUATRO,CINCO,SEIS,SIETE,OCHO,NUEVE]
CERO: AUX=%11000000
RETURN
UNO: AUX=%11111001
RETURN
DOS: AUX=%10100100
RETURN
TRES: AUX=%10110000
RETURN
CUATRO: AUX=%10011001
RETURN
CINCO: AUX=%10010010
RETURN
SEIS: AUX=%10000010
RETURN
SIETE: AUX=%11111000
RETURN
OCHO: AUX=%10000000
RETURN
NUEVE: AUX=%10010000
RETURN
END