Free Electronic Circuits & 8085 projects

Electronic projects with circuit diagram and 8085 microprocessor projects.

Write an 8086 Program to add two packed BCD numbers entered through keyboard

Published on Nov 22 2010 // 8086 Sample programs

  • Write an 8086 program that adds two packed BCD numbers input from the keyboard and computes and displays the result on the system video monitor
  • Data should be in the form 64+89= The answer 153 should appear in the next line.


Mov dx, buffer address

Mov ah,0a

Mov si,dx

Mov byte ptr [si], 8

Int 21

Mov ah,0eh

Mov al,0ah

Int 10 ;                               BIOS service 0e line feed position cursor


sub byte ptr[si+2], 30h

sub byte ptr[si+3], 30h

sub byte ptr[si+5], 30h

sub byte ptr[si+6], 30h

Mov cl,4

Rol byte ptr [si+3],cl

Rol byte ptr [si+6],cl

Ror word ptr [si+2], cl

Ror word ptr [si+2], cl

Mov al, [si+3]

Add al, [si+6]


Mov bh,al

Jnc display

Mov al,1

Call display

Mov al,bh

Call display

Int 20

Display Subroutine:


mov bl,al ;         Save original number and al,f0 ;Force bits 0-3 low

mov cl,4 ;           Four rotates

ror al,cl ;             Rotate MSD into LSD

add al,30 ;          Convert to ASCII

mov ah,0e ;       BIOS video service 0E

int 10 ;                Display character

mov al,bl ;          Recover original number

and al,0f ;           Force bits 4-7 low

add al,30 ;          Convert to ASCII

int 10 ;                 Display character

ret ;                      Return to calling program


                                                             ;Input buffer begins here