```linguagem assembly 8085
OR 100H
MVI A,10H;carga com dados
MOV B,C;B←dados
CALL BCDADC;Adicionar dados de Dreg com carry 1
CHAMAR DCXDS; Diminuir DS
MVI B,D
CALL BCDADD;Adiciona dados de Dreg com carry 0
LIGUE PARA DCXDS
OUT 12H; Porta de saída de carga para exibição
BCDADC:
LXI H,10H; Carregar BC com 16(10H)
ADD M;Adiciona dados do registrador M ao BC
JC SETC;Se carry for gerado então SETC
DAD D;Adiciona dados do registro D com dados do par HL. Esta etapa adiciona os dados do Mreg e carrega o bit.
SETC:;Este rótulo é usado para definir o sinalizador Carry.
CMA;Faça um complemento do registro A.
JC CLEARCY;Se carry for gerado então CLEAR CARRY
MVI A,10H
CLAREZA:
MOV M,A;Copia os dados do registrador A para a memória
MOV A,C;Copia os dados do registrador C para A
RAL;Rota um registrador através do carry
MOV C,A;Copia os dados do registrador A para C
BCDADD:
LXI H,09H; Carregar BC com 9(09H)
ADICIONAR M
PAI D
MOV M,A
MOV A,C
RAL
MOV C,A
DCXDS:;Decrementa o registro DS para exibição
DCR-D
DCR-D
DCR-D
RET
```