0% found this document useful (0 votes)
2 views50 pages

Microprocessor Lab Record

The document is an index of various programming exercises related to addition, subtraction, multiplication, division, sorting, searching, code conversion, and applications in assembly language. Each section includes specific programs for operations like 8-bit and 16-bit arithmetic, searching for elements in arrays, sorting, and converting between number systems. The document also contains detailed assembly code for each operation, illustrating how to implement these algorithms.

Uploaded by

priyakannan.7081
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)
2 views50 pages

Microprocessor Lab Record

The document is an index of various programming exercises related to addition, subtraction, multiplication, division, sorting, searching, code conversion, and applications in assembly language. Each section includes specific programs for operations like 8-bit and 16-bit arithmetic, searching for elements in arrays, sorting, and converting between number systems. The document also contains detailed assembly code for each operation, illustrating how to implement these algorithms.

Uploaded by

priyakannan.7081
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

INDEX

PAGE STAFF
[Link] DATE CONTENTS
NO SIGN

ADDITION AND SUBTRACTION

1 8 BIT ADDITION

2 16 BIT ADDITION

3 8 BIT SUBTRACTION

4 BCD SUBTRACTION

MULTIPLICATION AND DIVISION

5 8 BIT MULTIPLICATION

6 BCD MULTIPLICATION

7 8 BIT DIVISION

SORTING AND SEARCHING

SEARCHING FOR AN ARRAY ELEMENT IN


8
AN ARRAY

9(A) SORTING IN ASCENDING ORDER

9(B) SORTING IN DESCENDING ORDER

FINDIND THE LARGEST ELEMENT IN AN


10(A)
ARRAY
FINDING THE SMALLEST ELEMENT IN AN
10(B)
ARRAY

11 REVERSING ARRAY ELEMENTS

12 BLOCK MOVE
PAGE STAFF
[Link] DATE CONTENTS
NO SIGN

CODE CONVERSION

13 BCD TO HEX AND HEX TO BCD

14 BINARY TO ASCII AND ASCII TO BINARY

15 ASCII TO BCD AND BCD TO ASCII

APPLICATIONS

16 SQUARE OF A SINGLE BYTE HEX NUMBER

17 SQUARE OF A TWO DIGIT BCD NUMBER

SQUARE ROOT OF A SINGLE BYTE HEX


18
NUMBER

19 SQUARE ROOT OF A TWO DIGIT BCD NUMBER


8-BIT ADDITION

PROGRAM:

LXI H,8030H

MOV A,M

INX H

MOV B,M

MVI C,00H

ADD B

JNC RES

INR C

RES: INX H

MOV M,A

INX H

MOV M,C

HLT
OUTPUT:
16-BIT ADDITION

PROGRAM:

LHLD 8030H

XCHG

LHLD 8032H

MVI C,00H

DAD D

JNC SKIP

INR C

SKIP: SHLD 8040H

MOV A,C

STA 8042H

HLT
OUTPUT:
8-BIT SUBRACTION

PROGRAM:

LXI H,8030
MOV A,M
INX H
MOV B,M
MVI C,00
SUB B
JNC RES
CMA
INR A
RES: INX H
MOV M,A
INX H
MOV M,C
HLT
OUTPUT:
BCD SUBTRACTION
PROGRAM:
LXI H,8030H
MOV A,M
INX H
MOV B,M
MVI C,00H
SUB B
CPI 09H
JC RES
DAA

RES: INX H

RES: MOV M,A


HLT
OUTPUT:
8-BIT MULTIPLICATION

PROGRAM:

LDA 4051
MOV B,A
LDA 4052
MOV C,A
MVI A,00

LOOP: ADD B
DCR C
JNZ LOOP
STA 4053
HLT
OUTPUT:
BCD MULTIPLICATION

PROGRAM:
LXI H,8030H
MOV B,M
INX H
MOV C,M
MVI A,00H

LOOP: ADD B
DAA
DCR C
JNZ LOOP
INX H
MOV M,A
HLT
OUTPUT:
8-BIT DIVISION

PROGRAM:

LXI H,8030H
MOV A,M
INX H
MOV B,M
MVI C,00H

LOOP: SUB B
JC RES;8010
INR C
JMP LOOP;8008

RES: INX H
MOV M,C
INX H
ADD B
MOV M,A
HLT
OUTPUT:
SEARCHING FOR AN ELEMENT IN AN ARRAY

PROGRAM:
MVI C,05H
LXI H,8030H
MOV A,M

LOOP: INX H
CMP M
JZ RES
DCR C
JNZ LOOP
MVI A,FFH

RES: STA 8040H


HLT
OUTPUT:
SORTING IN ASCENDING ORDER

PROGRAM:

MVI B,02

LOOP3: MVI C,02


LXI H,5000

LOOP2: MOV A,M


INX H
CMP M
JC LOOP1
JZ LOOP1
MOV D,M
MOV M,A
DCX H
MOV M,D
INX H

LOOP1: DCR C
JNZ LOOP2
DCR B
JNZ LOOP3
HLT
OUTPUT:
FINDING LARGEST ELEMENT FROM AN ARRAY

PROGRAM:

LXI H,4200H
MOV B,M
INX H
MOV A,M
DCR B

LOOP: INX H
CMP M
JNZ AHEAD
MOV A,M

AHEAD: DCR B
JNZ LOOP
STA 4300H
HLT
OUTPUT:
FINDING SMALLEST ELEMENT FROM AN ARRAY

PROGRAM:
LXI H,4200H
MOV B,M
INX H
MOV A,M
DCR B

LOOP: INX H
CMP M
JC AHEAD
MOV A,M

AHEAD: DCR B
JNZ LOOP
STA 4300H
HLT
OUTPUT:
REVERSING ARRAY ELEMENTS

PROGRAM:
MVI C,20H

LXI H,8030H

LXI D,8034

MOV B,M

LDAX D

MOV M,A

MOV A,B

STAX D

INX H

DCX D

DCR C

HLT
OUTPUT:
BLOCK MOVE

PROGRAM:

MVI C,05H
LXI H,8030H
LXI D,8040H

BMOVE: MOV A,M


STAX D
INX H
INX D
DCR C
JNZ BMOVE
HLT
OUTPUT:
SORTING IN DESCENDING ORDER

PROGRAM:

LXI H,5000
MOV C,M
DCR C
REPEAT:MOV D,C
LXI H,5001
LOOP: MOV A,M
INX H
CMP M
JNC SKIP
MOV B,M
MOV M,A
DCX H
MOV M,B
INX H
SKIP: DCR D
JNZ LOOP
DCR C
JNZ REPEAT
HLT
OUTPUT:
BCD TO BINARY(HEX)

PROGRAM:

LDA 8030H
MOV B,A
ANI 0FH
MOV C,A
MOV A,B
ANI F0H
JZ SKIPMULTIPLY
RRC
RRC
RRC
RRC
MOV D,A
XRA A
MVI E,0AH

SUM: ADD D
DCR E
JNZ SUM
SKIPMULTIPLY: ADD C
STA 8040
HLT
OUTPUT:
BINARY(HEX) TO BCD

PROGRAM:
LXI H,8025H
MVI D,00H
XRA A
MOV C,M

LOOP: ADI 01H


DAA
JNC SKIP
INR D

SKIP: DCR C
JNZ LOOP
MOV L,A
MOV H,D
SHLD 8030H
HLT
OUTPUT:
BINARY TO ASCII

PROGRAM:

LXI

H,8030H

MOV A,M

CPI 0AH JC
RES ADI

07H

RES: ADI 30H

STA

8031H

HLT
OUTPUT:
ASCII TO BINARY

PROGRAM:

LXI

H,8030H
MOV A,M

SUI 30H

CPI 0AHJC

LT9

SUI

07H

LT9: STA

8031H

HLT
OUTPUT:
ASCII TO BCD

PROGRAM:

LXI

H,8030H

MOV A,M

SBI 30 STA

8031H HLT
OUTPUT:
BCD TO ASCII

PROGRAM:
LXI

H,8030H

MOV A,M

ADI 30 STA

8031H HLT
OUTPUT:
SQUARE OF A SINGLE BYTE HEX NUMBER

PROGRAM:

LXI H,8030
MOV B,M
MOV C,M
MVI A,00

LOOP: ADD B
DCR C JNZ
LOOPINX H
MOV M,A
HLT
OUTPUT:
SQUARE OF A TWO DIGIT BCD NUMBER

PROGRAM:

LXI H,8030
MOV B,M
MOV C,M
MVI A,00

LOOP: ADD B
DAA
DCR C

JNZ LOOP
INX H MOV
M,AHLT
OUTPUT:
SQUARE ROOT OF A SINGLE BYTE HEX NUMBER

PROGRAM:

MVI D,01
MVI E,01
LDA 5000

LOOP1: SUB D JZ
LOOPINR
D INR D
INR E

JMP LOOP1
MOV A, E

LOOP: STA 5001


HLT
OUTPUT:
SQUARE ROOT OF A TWO DIGIT BCD NUMBER

PROGRAM:

LDA 8030H
MOV B,A
MVI C,01H

AGAIN: CALL SQUARE


SUB B JZ
EXITINR
C

JMP AGAIN
EXIT: MOV A,C STA
8035HLT

SQUARE: XRA A
MOV D,C
LOOP: ADD C
DAA
DCR D

JNZ LOOP
RET
OUTPUT:

You might also like