Sie sind auf Seite 1von 3



Electronics and Communication Department

EC II/Sem IV/MPI/Assignment II


Q.1 Explain the following instructions of 8085. Also mention about the No. of
bytes, Machine Cycle , T-states , addressing modes and flags the
instruction affects.
1) MOV M,R 2) MVI R, data
3) LXI SP,16-bit data
4) STA address
5) LHLD address
6) LDAX Rp
7) XCHG 8) ADD M 9) ADC R
10) ACI data 11) DAD Rp
12) SUB R 13) SBB M 14) SBI data
15) DAA
16) DCR M
17) INX Rp 18) ANI data 19) ORA M
20)XRA R
21) CMA 22) STC
23) CMP R
24) RLC 25) RAR
26) PUSH Rp
27) POP Rp 28)SPHL
29) XTHL
30) DAD SP 31) JMP address
32) JP address
33) JPE address
34) PCHL
35) CALL address
36) CZ address
37) CNC address
38) RET
39) RPO
40) NOP
41) HLT 42) EI
43) DI
44) RIM
45) SIM
46) IN 8-bit address
47) RST n .

A set of current readings is stored in memory locations starting at

XX50H.The end of the data string is indicated by the data byte 00H. Add the
set of readings. The answer may be larger than FFH. Display the entire sum
at PORT1 and PORT2 or store the answer in the memory locations XX70
and XX71H. [Data (H) 32,52,F2,C5,00]


A set of three packed BCD numbers (six digits) representing time and
temperature is stored in memory locations starting at XX50H. The seven
segment codes of the digit 0 to 9 for a common-cathode LED are stored in
memory locations starting at XX70H, and the output-buffer memory is
reserved at XX90H. Write a main program and two subroutines, called
UNPACK and LEDCOD to unpack the BCD numbers and select an
appropriate seven segment code for each digit. The code should be stored in
the output buffer memory.


The following block of data is stored in memory locations from XX55H to

XX5AH. Transfer the data to the location XX80H to XX85H in the reverse
order. [ Data(H) 22,A5,B2,99,FF,37]


Design a down-counter to count from 99 to 0 in BCD with 1 second delay

between each count. Display the count at an output port.


Write a program to sort the following set of marks scored by ten students in
a database course in descending order.
[ Data(H) 63,41,56,62,48,5A,4F,4C,56,56]


Write a program to generate a rectangular wave with a 200 micro Second on

period and 400 Micro Second off period.


An 8-bit binary number is stored in memory location 3050H. Write a

program to convert the number into ASCII Hex code and save the result in
memory locations 3060H and 3061H.


A set of ten BCD numbers are stored in memory locations starting from
2500H . Write an ALP to convert each BCD number to binary hex number
and store the result in memory locations starting from address 4000H.

Q.10 Write an ALP to multiply the contents of memory location 3040H by the
contents of memory location 3041H and store the result in memory locations
3042H and 3043H with LS byte of the product at memory location 3042H.
Draw also the flow chart.
Q.11 Write an ALP to divide the 16-bit number by an 8-bit number.
Q.12 Write an ALP to find the maximum no. in the array.
Q.13 Write an ALP to generate a Fibonacci series.
Q.14 Write an ALP to calculate the sum of series of Even numbers.
Q.15 Write an ALP to compute Factorial of a given no. & Store the result.
Q.16 Write an ALP to find the 2s complement of a number.

Q.17 Write an ALP to count the no. of 1s in a register.

Q.18 Write an ALP to find the Square of numbers.
Q.19 Write an ALP to calculate the Square Root of a number.
Q.20 Write a subroutine for 8085 to generate a delay of 0.5 second if the Crystal
frequency is 5 MHz.
Q.21 Write a subroutine for 8085 to generate a delay of 10 ms. (Assume a 0.333
us clock cycle).
Q.22 Explain the timing diagram of the following Instructions.
1) STA 2050H 2) IN 05H
3) MVI M, 05H
4) LXI Rp, 2030H
5) LHLD 4000H 6) XCHG 7) PUSH B 8) POP D
Q.23 Write a program to find whether the given number stored in memory
location 8000H is positive, negative or zero. If number is positive place
FFH, If number is negative place FEH and if number is zero place FDH in
memory location 8050H.
Q.24 Write an 8085 subroutine to exchange two numbers. Use it to reverse an
array of 10 numbers starting from 3050h.
Q.25 Write a program to count continuously in hexadecimal from FFH to 00H in a
system with a clock period of 0.5 s. Use register C to set up 1 millisecond
delay between each count and display the number at the output port1.