La funció següent agafa el valor que hi ha a l'acumulador (un byte, valor de 0 a 255) i el converteix a BCD de tres xifres guardat en tres variables. L'acumulador retorna amb un zero.
El següent diagrama descriu el procediment:

El que fem és anar restant 100 a la variable fins que el resultat és negatiu (C = 0). Mentre el resultat és positiu, incrementem les centenes cada cop que restem 100. Després anem restant 10 a la variable fins que el resultat és negatiu. Mentre el resultat és positiu, incrementem les desenes cada cop que restem 10.
A l'exemple MT podem veure una mostra de com emprar aquesta funció.
D1 ; Variable unitats D2 ; Variable desenes D3 ; Variable centenes
; ; Funció que converteix un número de 8 bits a BCD (3 dígits) ; BCD clrf D3 ; Posa D3 (centenes) a zero clrf D2 ; Posa D2 (desenes) a zero movwf D1 ; Guarda W (valor a convertir) a D1 ; D1 són les unitats Cent ; Anem a trobar les centenes (D3) movlw .100 ; Carrega 100 decimal a W subwf D1,w ; Li resta W a D1 btfss STATUS,C ; Mira C i si és 1 no fa la següent ; Si és 1 vol dir resultat positiu goto Desen ; Si el resultat és negatiu les centenes ja estan ; el valor de W es perd i anem a les desenes movwf D1 ; Guarda el resultat (W) a D1 incf D3,f ; La centena restada a D1 l'afegeix a D3 goto Cent ; Tornem-ho a fer Desen ; Anem a trobar les desenes movlw .10 ; Carrega 10 decimal a W subwf D1,w ; Li resta W a D1 btfss STATUS,C ; Mira C i si és 1 no fa la següent ; Si és 1 vol dir resultat positiu goto Final ; Si el resultat és negatiu les desenes ja estan ; el valor de W es perd i anem a ASCII movwf D1 ; Guarda el resultat (W) a D1 incf D2,f ; La desena restada a D1 l'afegeix a D2 goto Desen ; Tornem-ho a fer Final retlw 0 ; Retorn amb un 0 a W

Aquesta obra d'Oriol Boix està llicenciada sota una llicència no importada Reconeixement-NoComercial-SenseObraDerivada 3.0.