microprocessor ( practical file)

16
Microprocessor Lab (EEC 553) Experiment 1: Write a program using 8085 microprocessor assembly language for decimal, hexadecimal addition and subtraction of two numbers. Store the result at memory location 2300H Apparatus: 8085 kit Input Data: Memory location Data 2200H 85H 2201H 56H Program: [a] Add two 8 bit numbers [b] Subtract two 8 bit numbers Memory add. Instruction Opcode 2000H LXI H, 2200H 21 00 22 2003H MOV A, M 7E 2004H INX H 23 2005H SUB M 96 2006H STA 2300H 32 00 23 2009H HLT 76 Result: [a] Memory location Data 2300H DBH [b] 2300H 2FH Memory add. Instruction Opcode 2000H LXI H, 2200H 21 00 22 2003H MOV A, M 7E 2004H INX H 23 2005H ADD M 86 2006H STA 2300H 32 00 23 2009H HLT 76

Upload: brij-bhushan-singh

Post on 18-Dec-2015

15 views

Category:

Documents


2 download

DESCRIPTION

THIS IS A PRACTICAL FILE OF MICROPROCESSOR.

TRANSCRIPT

Microprocessor Lab (EEC 553)

Microprocessor Lab (EEC 553)Experiment 1: Write a program using 8085 microprocessor assembly language for decimal, hexadecimal addition and subtraction of two numbers. Store the result at memory location 2300H

Apparatus: 8085 kit

Input Data: Memory location Data

2200H 85H2201H 56H

Program:

[a] Add two 8 bit numbers

Memory add.InstructionOpcode

2000HLXI H, 2200H 21 00 22

2003HMOV A, M7E

2004HINX H23

2005HADD M86

2006HSTA 2300H32 00 23

2009HHLT76

[b] Subtract two 8 bit numbers

Memory add.InstructionOpcode

2000HLXI H, 2200H21 00 22

2003HMOV A, M7E

2004HINX H23

2005HSUB M96

2006HSTA 2300H32 00 23

2009HHLT76

Result: [a] Memory location Data 2300H DBH[b] 2300H 2FH

Microprocessor Lab (EEC 553)

Experiment 2: Write a program using 8085 microprocessor assembly language to find the largest no in a given array. Store the result at memory location 2300H.

Apparatus: 8085 kit

Input Data:

Memory location Data

2200H 04H ; No of elements in an array2201H 56H

2202H 78H

2203H 23H

2204H 55H

Program:Memory add.InstructionOpcode

2000H LDA 2200H3A 00 22

2003H

MOV C, A4F

2004H

XRA AAF

2005H

LXI H 2201H21 01 22

2008H AGAIN: CMP MBE

2009H

JNC NEXTD2 0D 20

200CH

MOV A, M7E

200DH NEXT: INX H23

200EH

DCR C0D

200FH

JNZ AGAINC2 08 20

2012H

STA 2300H32 00 23

2015H HLT76

Result: [a] Memory location Data 2300H 78HMicroprocessor Lab (EEC 553)

Experiment 3: Write a program using 8085 microprocessor assembly language to find the smallest no in a given array. Store the result at memory location 2300H.

Apparatus: 8085 kit

Input Data:

Memory location Data

2200H 04H ; No of elements in an array

2201H 56H

2202H 78H

2203H 23H

2204H 55H

Program:Memory add.InstructionOpcode

2000H LDA 2200H3A 00 22

2003H

MOV C, A4F

2004H

MVI A, FF H

2006H

LXI H 2201H21 01 22

2009H AGAIN: CMP MBE

200AH

JC NEXTDA 0E 20

200DH

MOV A, M7E

200EH NEXT: INX H23

200FH

DCR C0D

2010H

JNZ AGAINC2 09 20

2013H

STA 2300H32 00 23

2016H HLT76

Result: [a] Memory location Data 2300H 23H

Microprocessor Lab (EEC 553)Experiment 4: Write a program using 8085 microprocessor assembly language to arrange the given array in ascending order.

Apparatus: 8085 kit

Input Data: Memory location Data

2200H 04H ; No of elements in an array

2201H 16H

2202H 78H

2203H 03H

2204H 55H

Program:Memory add.InstructionOpcode

2000H LDA 2200H3A 00 22

2003H

MOV B, A47

2004H DCR B05

2005H START: LXI H 2200H21 01 22

2008H MOV C, M4E

2009H DCR C0D

200AH INX H23

200BH AGAIN: MOV A, M7E

200CH INX H23

200DH CMP MBE

200EH

JC NEXTDA 15 20

2011H

MOV D, M56

2012H MOV M, A77

2013H DCX H2B

2014H MOV M, D72

2015H NEXT: INX H23

2016H

DCR C0D

2017H JNZ AGAINC2 0B 20

201AH DCR B05

201BH JNZ STARTC2 05 20

201EH

HLT76

Result: [a] Memory location Data 2201H 03H

2202H 16H

2203H 55H

2204H 78H

Microprocessor Lab (EEC 553)

Experiment 5: Write a program using 8085 microprocessor assembly language to arrange the given array in descending order.

Apparatus: 8085 kit

Input Data: Memory location Data

2200H 04H ; No of elements in an array

2201H 16H

2202H 78H

2203H 03H

2204H 55H

Program:Memory add.InstructionOpcode

2000H LDA 2200H3A 00 22

2003H

MOV B, A47

2004H DCR B05

2005H START: LXI H 2200H21 01 22

2008H MOV C, M4E

2009H DCR C0D

200AH INX H23

200BH AGAIN: MOV A, M7E

200CH INX H23

200DH CMP MBE

200EH

JNC NEXTD2 15 20

2011H

MOV D, M56

2012H MOV M, A77

2013H DCX H2B

2014H MOV M, D72

2015H NEXT: INX H23

2016H

DCR C0D

2017H JNZ AGAINC2 0B 20

201AH DCR B05

201BH JNZ STARTC2 05 20

201EH

HLT76

Result: [a] Memory location Data 2201H 78H

2202H 55H

2203H 16H

2204H 03H

Microprocessor Lab (EEC 553)

Experiment 6: Write a program using 8085 microprocessor assembly language to find no of 1s in given data byte. Store the result at 2300H memory location.Apparatus: 8085 kit

Input Data:

Memory location Data

2200H F2H

Program:Memory add.InstructionOpcode

2000H LDA 2200H3A 00 22

2003H

MVI B, 00H06 00

2005H MVI C, 08H0E 08

2007H START: RAR1F

2008H JNC SKIPD2 0C 20

200BH INR B04

200CH SKIP : DCR C0D

200DH JNZ STARTC2 07 20

2010H MOV A, B78

2011H STA 2300H32 00 23

2014H

HLT76

Result: [a] Memory location Data 2300H 05H

Microprocessor Lab (EEC 553)

Experiment 7: Write a program using 8085 microprocessor assembly language to calculate the sum of series of even numbers. Store the result at 2300H memory location.

Apparatus: 8085 kit

Input Data:

Memory location Data

2200H 04H; Length of list

2201H 20H

2202H 15H

2203H 13H

2204H 22H

Program:Memory add.InstructionOpcode

2000H LDA 2200H3A 00 22

2003H

MOV C, A4F

2004H MVI B, 00H06 00

2006H LXI H, 2201H21 01 22

2009H START: MOV A, M7E

200AH ANI 01HE6 01

200CH JNZ SKIPC2 12 20

200FH MOV A, B78

2010H ADD M86

2011H MOV B, A47

2012H SKIP: INX H23

2013H DCR C0D

2014H JNZ STARTC2 09 20

2017H STA 2300H32 00 23

201AH

HLT76

Result: [a] Memory location Data 2300H 42H

Microprocessor Lab (EEC 553)

Experiment 8: Write a program using 8085 microprocessor assembly language to convert binary to ASCII Hex code. Store the result at 2300H & 2301H memory location.

Apparatus: 8085 kit

Input Data:

Memory location Data

2200H 3AHProgram:Memory add.InstructionOpcode

2000H LXI SP, 260031 00 26

2003H LXI H, 2200H21 00 22

2006H LXI D, 2300H11 00 23

2009HMOV A, M7E

200AHMOV B, A47

200BHRRC0F

200CHRRC0F

200DHRRC0F

200EHRRC0F

200FHCALL ASCIICD

2012HSTAX D12

2013HINX D13

2014HMOV A, B78

2015HCALL ASCIICD

2018HSTAX D12

2019HHLT76

Memory add.InstructionOpcode

2900HASCII: ANI OFHE6 0F

2902H CPI 0AHFE 0A

2904H JC CODEDA 09 29

2907H ADI 07HC6 07

2909H CODE: ADI 30HC6 30

290BH RETC9

Result: [a] Memory location Data 2300H 33H

2301H 41H

Microprocessor Lab (EEC 553)

Experiment 9: Write a program using 8085 microprocessor assembly language to multiply two 8 bit numbers and store the result at 2300H & 2301H memory location.

Apparatus: 8085 kit

Input Data:

Memory location Data

2200H 3AH

2202H 21H

Program: Method 1: LDA 2200H

LXI H, 2201H ; Second number MOV B, A ; Counter MVI C, 00H

XRA A AGAIN: ADD M

JNC NEXT

INR C

NEXT: DCR B

JNZ AGAIN

STA 2301H

MOV A, C

STA 2300H

HLT

Method 2: LXI SP, STACK

LHLD 2200H

XCHG

CALL MULTIPLY

SHLD 2300H HLT

MULTIPLY: MOV A, D

MVI D, 00H

LXI H, 0000H

MVI B, 08H

NXTBIT: RAR

JNC NOADD

DAD D

NOADD: XCHG

DAD H

XCHG

DCR B

JNZ NXTBIT

RETResult: [a] Memory location Data 2300H 07H

2301H 7AH

Microprocessor Lab (EEC 553)

Experiment 10: Write a program using 8085 microprocessor assembly language to add & subtract numbers in BCD. Store the result at 2300H & 2301memory locations.Apparatus: 8085 kit

Input Data:

Memory location Data

2200H 09H

2201H 02H

Program:

[a] BCD AdditionLXI H, 2200H

MOV A, M

INX H

ADD M

DAA

STA 2300H

HLT

[b] Subtract two 8 bit numbers

LXI H, 2200H

MOV C, M

INX H

MVI A, 99HSUB CINR A

ADD M

DAA

STA 2301H

HLTResult: Memory location Data 2300H 11H; Addition result 2301H 07H; Subtraction resultExperiment 11: Write a program using 8085 microprocessor assembly language to divide 16 bit no. by an 8 bit no. Store the result at 2300H memory location.

Apparatus: 8085 kit

Input Data:

Result: [a] Memory location Data 2300H 07H

2301H 7AH