Laboratory Manual: Department of Computer Engineering Advanced M Semester:-VI
Laboratory Manual: Department of Computer Engineering Advanced M Semester:-VI
LABORATORY MANUAL
Department
Of
COMPUTER ENGINEERING
Advanced Microprocessor
Semester :- VI
GHARDA FOUNDATION’S
GHARDA INSTITUTE OF TECHNOLOGY
A/P : LAVEL, TALUKA : KHED, DIST. RATNAGIRI,STATE : MAHARASHTRA ,PIN : 415 708
TELEPHONE NO : 02356 – 262795 / 97 / 98 FAX NO : 02356 – 262795
_____________________________________________
OBJECTIVES
1. To improve quality and result 100%
2. Practical facility and well equipment.
3. Internet facility.
4. Well teaching staff.
5. To provide department library facility.
6. To provide department study facility.
7. To give personal attention towards students.
GHARDA FOUNDATION’S
GHARDA INSTITUTE OF TECHNOLOGY
A/P : LAVEL, TALUKA : KHED, DIST. RATNAGIRI,STATE : MAHARASHTRA ,PIN : 415 708
TELEPHONE NO : 02356 – 262795 / 97 / 98 FAX NO : 02356 – 262795
_____________________________________________
Subject : Advanced Microprocessor Sem. : VI Dept : Computer
Engineering
SYLLABUS
_____________________________________________
Teaching/Exam Scheme
University of Mumbai
Class : T.E. Branch : Computer Semester : VI
Engineering
Subject : Advanced Microprocessor (Abbreviated as AMP)
Periods per Week Lecture 04
(each 60 min) Practical 02
Tutorial --
Hours Marks
Evaluation System Theory 03 100
Practical and Oral -- 25
Oral -- --
Team Work -- 25
Total 03 150
GHARDA FOUNDATION’S
GHARDA INSTITUTE
OF
TECHNOLOGY
(Affiliated to Mumbai University, Mumbai and Approved by AICTE, New Delhi )
CERTIFICATE
This is to certify that Mr./Ms._______________________
Roll no: _______ Division:____ has completed term work in the
subject of _____________________________ for the semester _____
of the academic year _________________.
List of Experiments
Index
Sr.No. Name of the Experiment
1 TO PERFORM ADDITION OF TWO 32-BIT NUMBERS
2 TO PERFORM ADDITION OF TWO 16-BIT BCD NUMBERS
3 TO PERFORM SUBTRACTION OF TWO 32-BIT NUMBERS
4 TO PERFORM SUBTRACTION OF TWO 16—BIT BCD NUMBERS
TO PERFORM MULTIPLICATION OF TWO UNSIGNED NUMBERS
5
TO PERFORM MULTIPLICATION OF TWO SIGNED NUMBERS
6
7 ADDITION OF SERIES OF NUMBER
8 FACTORIAL OF NUMBER
9 LARGEST NUMBER
10 SMALLEST NUMBER
11 COUNT EVEN & ODD NUMBER
GHARDA FOUNDATION’S
GHARDA INSTITUTE OF TECHNOLOGY
A/P : LAVEL, TALUKA : KHED, DIST. RATNAGIRI,STATE : MAHARASHTRA ,PIN : 415 708
TELEPHONE NO : 02356 – 262795 / 97 / 98 FAX NO : 02356 – 262795
__________________________________________________________________________________________________
INSTRUMENT LIST
TOTAL DATE
RATE/UNIT
SR.NO. INSTRUMENT NAME QTY COST OF
(RS.)
(RS.) PURCHASE
1. Scientech Microcontroller 9405.00 02 18810.00 05/07/08
8051 Trainer Kit (M51-02)
8972.50 03 26917.50 05/02/09
2. Scientech Microprocessor 8086 9342.50 05 46712.50 05/02/09
Trainer Kit (M86-02)
3. Scientech Stepper Motor 1896.25 02 3792.50 05/02/09
Interface card with stepper
Motor(IC-08)
4. Scientech 5X4 matrix keyboard 1387.75 02 2775.50 05/02/09
Interface card
(IC-09)
5. Scientech 16X2 LCD Display 1572.50 02 3145.00 05/02/09
Card (IC-11)
6. Scientech ADC Interface card 1387.75 02 2775.50 05/02/09
using ADC-0809 (IC-01)
7. Scientech Dual DAC Interface 1387.75 02 2775.50 05/02/09
Card using DAC (IC-02)
8. Scientech 7 Segment Display 1387.75 01 1387.75 05/02/09
Card (IC-07)
9. ‘SPJ’ make C compiler for 18176.25 01 18176.25 05/02/09
8051 Microcontroller
10. ‘SPJ’ make Additional License 5550.00 09 49950.00 05/02/09
for SC51
11. Scientech Microprocessor 8085 4542.75 02 9085.50 05/07/08
Trainer Kit (M85-02) 6151.25 03 18453.75 05/02/09
12. Masm Software
TOTAL : RS. 204757.25
(Affiliated to Mumbai University, Mumbai and Approved by AICTE, New Delhi)
Certificate
Contents
Exit. No. Date Title Pg. Grade Sign.
No.
TO PERFORM ADDITION OF TWO 32-BIT
1
NUMBERS
TO PERFORM ADDITION OF TWO 16-BIT
2
BCD NUMBERS
TO PERFORM SUBTRACTION OF TWO 32-
3
BIT NUMBERS
TO PERFORM SUBTRACTION OF TWO 16
4
—BIT BCD NUMBERS
TO PERFORM MULTIPLICATION OF TWO
5 UNSIGNED NUMBERS
8 FACTORIAL OF NUMBER
9 LARGEST NUMBER
10 SMALLEST NUMBER
Program 1
#include<stdio.h>
#include<conio.h>
#include<iostream.h>
void main()
{
int a1,a2,b1,b2,c1,c2,c;
cout<<" enter a1 a2 ";
cin>>a1>>a2;
cout<<" enter b1 b2 ";
cin>>b1>>b2;
asm {
mov ax,a1;
mov bx,a2;
mov cx,b1;
mov dx,b2;
add bx,dx;
mov c2,bx;
adc ax,cx;
mov c1,ax;
mov ax,0000h
adc ax,ax;
mov c,ax;
}
cout<<"ans=";
printf("%x",c);
printf("%x",c1);
printf("%x",c2);
getch();
}
PROGRAM 2
C++ code: -
#include<stdio.h>
#include<conio.h>
#include<iostream.h>
void main()
{
int a1,b1,c,d;
cout<<" enter first number a ";
cin>>a1;
cout<<"enter second number b ";
cin>>b1;
asm {
mov ax,a1;
mov bx,b1;
add al,bl;
daa;
mov cl,al;
mov al,ah;
adc al,bh;
daa;
mov ch,al;
mov c,cx;
mov ax,00;
adc ax,ax;
mov d,ax;
}
cout<<"ans = ";
printf("%x %x",d,c);
getch();
}
PROGRAM 3.
#include<stdio.h>
#include<conio.h>
#include<iostream.h>
void main()
{
int a1,a2,b1,b2,c1,c2;
cout<<" enter a1 a2 ";
cin>>a1>>a2;
cout<<" enter b1 b2 ";
cin>>b1>>b2;
asm {
mov ax,a1;
mov bx,a2;
mov cx,b1;
mov dx,b2;
sub bx,dx;
mov c2,bx;
sbb ax,cx;
mov c1,ax;
}
cout<<"ans=";
printf("%x",c1);
printf("%x",c2);
getch();
}
PROGRAM 4
C++ code: -
#include<stdio.h>
#include<conio.h>
#include<iostream.h>
void main()
{
int a1,b1,c;
cout<<" enter first number a ";
cin>>a1;
cout<<"enter second number b ";
cin>>b1;
asm {
mov ax,a1;
mov bx,b1;
sub al,bl;
das;
mov cl,al;
mov al,ah;
sbb al,bh;
das;
mov ch,al;
mov c,cx;
}
cout<<"ans = ";
printf("%x %x",c);
getch();
}
PROGRAM 5
#include<stdio.h>
#include<conio.h>
#include<iostream.h>
void main()
{
int a1,b1,c1,c2;
cout<<" enter a b \n";
cin>>a1>>b1;
asm {
mov ax,a1;
mov bx,b1;
mul bx;
mov c1,dx;
mov c2,ax;
}
cout<<"ans=";
printf("%x",c1);
cout<<"\n ans=";
printf("%x",c2);
getch();
}
PROGRAM 6
#include<stdio.h>
#include<conio.h>
#include<iostream.h>
void main()
{
int a1,b1,c1,c2;
cout<<" enter a b \n";
cin>>a1>>b1;
asm {
mov ax,a1;
mov bx,b1;
imul bx;
mov c1,dx;
mov c2,ax;
}
cout<<"ans=";
printf("%x",c1);
cout<<"\n ans=";
printf("%x",c2);
getch();
}
PROGRAM 7
C++ CODING
#include<iostream.h>
#include<stdio.h>
#include<conio.h>
void main()
{ int b,c,cnt=6;
c=0;
loop: while(cnt-->=1)
{ cout<<"\n enter b";
cin>>b;
asm{
mov ax,c
mov bx,b
add ax,bx
mov c,ax
jmp loop
}
}
printf("%x",c);
getch();
}
PROGRAM 8
C++ CODING: -
#include<iostream.h>
#include<stdio.h>
#include<conio.h>
void main()
{ int b,c,cnt=5; fact=1;
cout<<"\n enter b";
cin>>b;
loop: for(i=1;i<=b;i++)
asm{
mov ax,fact
mov bx,i
mul ax,bx
mov fact,ax
jmp loop
}
}
printf("%x\n",fact);
getch();
}
PROGRAM 9
#include<iostream.h>
#include<stdio.h>
#include<conio.h>
void main()
{ int b,cnt=3;
int max=0;
loop1: while(cnt-->=1)
{ cout<<"\n enter b";
cin>>b;
asm{
mov ax,max
mov bx,b
cmp ax,bx
jge loop2
mov ax,bx
loop2:
mov max,ax
jmp loop1
}
}
printf("\nmax=%x",max);
getch();
}
PROGRAM 10
#include<iostream.h>
#include<stdio.h>
#include<conio.h>
void main()
{ int b,cnt=3;
int min=32767;
loop: while(cnt-->=1)
{ cout<<"\n enter b";
cin>>b;
asm{
mov ax,min
mov bx,b
cmp ax,bx
jle loop4
mov ax,bx
loop4:
mov min,ax
jmp loop
}
}
printf("\nmin=%x",min);
getch();
}
PROGRAM 11
C++ CODING: -
#include<iostream.h>
#include<stdio.h>
#include<conio.h>
void main()
{ int a,b,d,cnt=6;
a=0; d=0;
loop: while(cnt-->=1)
{ cout<<"\n enter b";
cin>>b;
asm{
mov bx,a
mov cx,d
mov ax,b
and ax,01
jz loop1
inc bx
jmp loop2
loop1:
inc cx
loop2:
mov a,bx
mov d,cx
jmp loop
}
}
printf(" count for odd =%x",a);
printf(" count for even =%x",d);
getch();
}