Professional Documents
Culture Documents
Lab Experiment No 1
Lab Experiment No 1
EENG353+355: Microprocessors
Experiment No. 1
Lab Title The 8085 Microprocessor
Lecturer:
Due Date:
Date of Submission:
Do not write in this area (below the line), for instructor use only
Comments:
Grade/Mark:
Learning Outcome:
This lab assignment satisfies the Course Intended Learning Outcome # b, which is, an
ability to design and conduct experiments, as well as to analyze and interpret data.
Apparatus
• gnusim8085 Simulator
Method
This lab has been designed to --------------------------------.
This document is to be submitted to the tutor by hardcopy next lab period and also by email in the due
time announced.
Marking Scheme
Marks
Assigned
Assignment I
Assignment II
Assignment III
Assignment IV
Assignment V
Conclusions + Discussion
Total 100
Procedure:
1- Using the simulator gnusim8085, write a program, which exchange of the contents of (B reg.) to
the contents of the accumulator (A reg.)
5- Write a program to find (6F2E3D - 2B1A6C). Store the result in BDE registers
6- write a program to add 3 bytes number stored in memory locations [2802][2801][2800] to the 3
bytes number stored in memory locations [2805][2804][2803] store the results in
[2808][2807][2806].
7- write a program to subtract 3 bytes number stored in memory locations [2802][2801][2800] from
3 bytes number stored in memory locations [2805][2804][2803] store the results in
[2808][2807][2806]
8- Write an 8085 program to subtract the contents of memory location 2850 H from the contents of
memory location 2851H, and store the difference in location 2852H. Try your program for each of the
following cases; record the difference and the status of the CY and Z flags for each case.
a. (2850)H=47H , (2851)H=8EH
b. (2850)H=8EH , (2851)H=47H
c. (2850)H=F7H , (2851)H=F7H
Code your program, then list it on a coding form, then examine the contents of the appropriate
processor register memory location to verify correct execution of each program instruction.
9- Write an 8085 program to perform the following multi byte addition operation:
Store the result in memory [2802][2801][2800]
Test the program by manually placing the two 3-byte numbers into consecutive memory locations.
Design your program to add the values together and store the sum in three other memory locations.
Record the sum and the CY flag and Z flag values after the program adds each pair of bytes verify
these observations with
manual computations.
10- Write a program to compare between content of registers A and B, show the content flags CY,
Z, S for the following cases
a. A=05, B=04
b. A=05 ,B= 05
c. A=05, B= 06
11- Write an 8085 program to compare the contents of two regs. A and B (load immediate data into
two regs.), and then rotate the contents of reg. A, the new contents of A are then AND-ed with a
constant and finally the resulting contents of A are OR-ed with the contents of B. Code your
program then list it on a coding form and load it into memory starting at address 2800. Check the
contents of the A reg. to verify its correct operation.
Note: the data is F0, 0F
Discussion:
1. How do the data retention characteristics of RAM and ROM storage devices differ?
2. What is the purpose and use of the Program Counter (PC), Stack Pointer (SP), and Memory
Address Register (MAR) registers?
3. Write an 8085 program to store 4EH in memory location 2840H and store 3EH in memory
location 2841H, exchange them and store the result in memory locations 2842H and 2843H
respectively. Solve this problem using three different methods.
4. Write a program to exchange the content of memory locations [2801] [2800] with [2803]
[2802].
5. The following program is supposed to add the contents of memory location 2050H to the
Accumulator. The program works correctly only part of the time. Show that it is wrong to
execute the program and how to correct it.
MOV B,A
LDA 2050H
ADC B
HLT
6. In a multibyte addition program, when you must use the ADD instruction? When you must
use the ADC instruction?
7- The 8085-instruction set does not include a clear accumulator instruction. Which single-byte
logical instruction can perform this task?
8- The 8085-instruction set does not include a clear carry instruction. Which single-byte logical
instruction can clear the carry without modifying the contents of the accumulator?