microprocessor ( practical file)
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