Você está na página 1de 1

Converso Bin (8 bits) em BCD Rotina Bin8_BCD3

Esta sub-rotina converte um nmero binrio (1 byte) em binrio codificado em decimal (BCD).
A varivel binria Ab (A binrio), composta por um byte (oito bits), possui a seguinte
formatao:
Ab = a 7 a 6 a 5 a 4 a 3 a 2 a1 a 0 , onde cada termo pode assumir o valor zero ou um. O fluxograma apresentado
na figura 4 contm os passos a serem seguidos para se transformar a varivel Ab em uma varivel Ad (A
decimal), representando o seu nmero binrio equivalente na base 10. A varivel Ad composta por trs
registros (bytes), a saber:
Un Valor das unidades.
Dez Valor das dezenas.
Cen Valor das centenas.
O procedimento o seguinte:
1. Inicialmente, o valor de Ab armazenado na varivel Un. (Un = Ab).
2. Atribui-se zero s outras variveis (Cen = Dez = 0)
3. Faz-se w = Un 100. Se w for positivo, acrescenta-se uma unidade varivel Cen e atualiza-se Un
(Un = w). Enquanto w for positivo repete-se o procedimento. Quando o resultado for negativo, o
nmero menor que 100, no se atualizam as variveis Un e Cen.
4. Faz-se w = Un 10. Se w for positivo, acrescenta-se uma unidade varivel Dez e atualiza-se Un (Un
= w). Enquanto w for positivo repete-se o procedimento. Quando o resultado for negativo, o nmero
menor que 10, no se atualizam as variveis Un e Dez. O valor da varivel Un j estar correto. Os
registros Cen, Dez e Un, contero os valores da converso.
Rotina Bin8_BCD3
O valor a ser convertido
est no registro Ab

Un = Ab

Valores iniciais
Dez = Cen = 0
BCD1
w = Un - 100

w >= 0?
BCD2

Un = w

Cen = Cen + 1

Un = w

Dez = Dez + 1

w = Un - 10

w >= 0?

N
Fim

Figura 4 Fluxograma da converso de um valor binrio inteiro para BCD (Binrio Codificado em
Decimal).

Você também pode gostar