0% found this document useful (0 votes)
116 views11 pages

Microprocessor AND Microcontroller Practical Lab File: Name-Enrollment No. - Course/Branch - Btech/Mae

This document contains a lab file with experiments on a microprocessor and microcontroller. The first experiment adds two 8-bit numbers using an 8085 simulator. The second experiment adds two 16-bit numbers. The third experiment multiplies two 8-bit numbers and the fourth divides two 8-bit numbers. The fifth experiment finds the factorial of a given number using subroutines. Algorithms and programs are provided for each experiment along with input/output observations.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
116 views11 pages

Microprocessor AND Microcontroller Practical Lab File: Name-Enrollment No. - Course/Branch - Btech/Mae

This document contains a lab file with experiments on a microprocessor and microcontroller. The first experiment adds two 8-bit numbers using an 8085 simulator. The second experiment adds two 16-bit numbers. The third experiment multiplies two 8-bit numbers and the fourth divides two 8-bit numbers. The fifth experiment finds the factorial of a given number using subroutines. Algorithms and programs are provided for each experiment along with input/output observations.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 11

MICROPROCESSOR

AND
MICROCONTROLLER
PRACTICAL LAB FILE

NAME- ENROLLMENT NO. – COURSE/BRANCH –


BTECH/MAE
EXPERIMENT – 1
AIM : ADDITION OF TWO 8 BITS NUMBERS

APPARATUS : GNUSim8085

ALGORITHM:

1) Start the program by loading the first data into Accumulator.


2) Move the data to a register A.
3) Get the second data and load into accumulator.
4) Move the data to a register C.
5) Add the two register contents.
6) Know move the data to the register M.
7) Terminate the program.

PROGRAM:

LXI H,5000H : LOAD REGISTER PAIR IMMEDIATE TO


MOV A,M : MOVE THE CONTENT OF ACCUMULATOR TO REGISTER A
INX H;5001H : INCREMENT REGISTER PAIR BY 1
MOV C,M : MOVE CONTENT OF REGISTER C TO ACCUMULATOR
ADD C : ADD THE VALUE OF REGISTER C TO A
INX H:5002H : INCREMENT REGISTER PAIR BY 1
MOV M,A : COPY FROM SOURCE TO DESTINATION
HLT : HALT THE PROGRAM

OBSERVATION :
ADDRESS(HEX) ADDRESS DATA
INPUT : 5000 20480 4
5001 20481 3
OUTPUT : 5002 20482

RESULT : THUS THE PROGRAM TO ADD TWO 8-BIT NUMBER WAS EXECUTED.
EXPERIMENT – 2
AIM : ADDITION OF TWO 16 BITS NUMBERS

APPARATUS : GNUSim8085

PROGRAM :

LHLD 5020H;7260 LOAD H AND L REGISTERS DIRECT

XCHG EXCHANGE H AND L WITH D AN E

LHLD 5022H;4250 LOAD H AND L REGISTER DIRECT

DAD D ADD REGISTER PAIR TO H AND L REGISTERS

SHLD 5024H STORE H AND L REGISTERS DIRECT

HLT TERMINATE THE PROGRAM

OBSERVATION :

ADDRESS (HEX) ADDRESS DATA

INPUT : 5020 20512 60

5021 20513 72

5022 20514 50

5023 20515 42

OUTPUT : 5024 20516 110

5024 20517 114

RESULT : THUS THE PROGRAM TO ADD TWO 16-BIT WAS EXECUTED.


EXPERIMENT – 3

AIM : TO PERFORM MULTIPLICATION OPERATION ON TWO 8 BIT NUMBERS X AND Y. VERIFY THE
RESULT USING BINARY MULTIPLICATION.

APPARATUS : GNUSim8085

PROGRAM :

LDA 3000H LOAD THE VALUE TO ACCUMULATOR

MOV B,A MOVE THE CONTENT OF ACCUMULATOR TO B REGISTER

LDA 3001H LOAD THE VALUE TO ACCUMULATOR

MOV C,A MOVE THE CONTENT OF ACCUMULATOR TO C REGISTER

MVI A,00H INITIALIZE A, REGISTER TO 00

LOOP1 : ADD B

DCR C

LNZ LOOP1

STA 3002H STORE THE VALUE OF ACCUMULATOR

HLT HALT THE PROGRAM.

OBSERVATION:

ADDRESS(HEX) ADDRESS DATA

INPUT : 3000 12288 5

3001 12289 3

OUTOUT : 3002 12290 15

RESULT : THUS THE PROGRAM MULTIPLY 03 AND 05 WAS EXECUTED.


EXPERIMENT – 4

AIM : TO PERFORM DIVISION OPERATION ON TWO 8 BIT NUMBER X AND Y. VERIFY THE RESULT
USING BINARY DIVISION.

APPARATUS : GNU Sim 8085

ALGORITHM :

1) START THE PROGRAM BY LOADING HL REGISTER PAIR WITH ADDRESS OF MEMORY LOCATION.
2) MOVE THE DATA TO A REGISTER ( B REGISTER).
3) GET THE SECOND DATA AND LOAD INFO ACCUMULATOR.
4) COMPARE THE TWO NUMBERS TO CHECK FOR CARRY.
5) SUBTRACT THE TWO NUMBERS.
6) INCREMENT THE VALUE OF CARRY
7) CHECK WHEATHER REPEATED SUBRACTION IS OVER AND STORE THE VALUE OF PRODUCT AND
CARRY IN MEMORY LOCATION.
8) TERMINATE THE PROGRAM.

PROGRAM :

LXI H,2000H LOAD IMMEDIATE DATA INTO REGISTER PAIR HL

MOV B,M MOVE DATA AT M TO B

MVI C,00H MOVE IMMEDIATE DATA, 00H, TO C.

INX H INCREMENT REGISTER H

MOV A,M MOVE DATA AT M TO A

CMP B COMPARE ACCUMULATOR WITH B

JC 5011H IF CARRY, JUMP TO 5011H

SUB B SUBTRACT B FROM REGISTER A, AND STORE THE VALUE IN A

INR C INCREMENT C REGISTER

JMP 5008H JUMP TO 5008H

STA 3000H STORE THE DATA OF ACCUMULATOR AT 3000H

MOV A,C MOVE DATA AT C TO A

STA 3001H STORE THE DATA OF ACCUMULATOR AT 3000H

HLT HALT THE PROGRAM


OBSERVATION :
EXPERIMENT - 5
AIM: To find the factorial of a number
ALGORITHM :
1. Load the data into register B
2. To start multiplication set D to 01H
3. Jump to step 7
4. Decrements b to multiply pervious number
5. Jump to step 3 till value of B>0
6. Take memory pointer to next location and store result
7. Load E with contents of B and clear accumulator
8. Repeatedly add contents of D to accumultor E times
9. Store accumulator content to d
10. Go to step 4

PROGRAM :
LXI H,2000H INITIALIZE HL REGISTER TO 2000H
MOV B,M LOAD DATA TO B REGISTER
MVI D,01H SET D REGISTER WITH 1
FACTORIAL : CALL MULTIPLY SUBROUTINE CALL FOR MULTIPLICATION
DCR B DECRREMENT B
JNZ FACTORIAL CALL FACTORIAL TILL B BECOMES 0
INX H INCREMENT MEMORY
MOV M,D STORE RESULT IN MEMORY
HLT HALT
MULTIPLY : MOV E,B TRANSFER CONTENTS OF B TO C
MVI A,00H CLEAR ACCUMULATED TO STORE RESULT
MULTIPLYLOOP : ADD D ADD CONTENT OF D TO A
DCR E DECREMENT E
JNZ MULTIPLYLOOP REPEATED ADDITION
MOV D,A TRANSFER CONTENTS OF A TO D
RET RETURN FROM SUBROUTINE

OBERVATION :

ADSRESS VALUE
INPUT 2000H 6(X)
OUTPUT 2001H 208H=520D

RESULT : THUS THE PROGRAM TO FIND FACTORIAL WAS EXECUTED

You might also like