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.

Program: 

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]

Daa

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