0% found this document useful (0 votes)
2K views7 pages

MDA-8086 Microprocessor Lab Manual

This document provides instructions for an experiment involving the MDA-8086 microprocessor kit. It includes: 1) An overview of the system configuration of the MDA-8086 kit and the functions of its components. 2) Instructions on storing sample data in memory locations using arithmetic instructions like ADD and storing the results in registers to observe changes in flag bits. 3) A procedure for writing assembly code, loading it onto the MDA-8086 kit, and executing it step-by-step to observe the contents of registers and memory locations after each instruction.

Uploaded by

Uma Go
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)
2K views7 pages

MDA-8086 Microprocessor Lab Manual

This document provides instructions for an experiment involving the MDA-8086 microprocessor kit. It includes: 1) An overview of the system configuration of the MDA-8086 kit and the functions of its components. 2) Instructions on storing sample data in memory locations using arithmetic instructions like ADD and storing the results in registers to observe changes in flag bits. 3) A procedure for writing assembly code, loading it onto the MDA-8086 kit, and executing it step-by-step to observe the contents of registers and memory locations after each instruction.

Uploaded by

Uma Go
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
  • Introduction to Experiment 1
  • Functions of ICs
  • IO Mapping and Key Functions
  • Exercises
  • Arithmetic Instructions
  • Procedure

EEE-334 Experiment-1

Shahjalal University of Science and Technology


Department of Electrical & Electronic Engineering (EEE)

Experiment No. 01: Familiarization with MDA-8086 microprocessor kit and its
operation in “Machine Code” mode using arithmetic instructions.

Objectives:
1. To familiarize with MDA-8086 system configuration.
2. To operate MDA-8086 in “Machine Code” mode.

Configuration:

Fig.1: System Configuration

Prepared by
Jibesh Kanti Saha
EEE-334 Experiment-1

The functions of ICs at Figure 1 are:


1. CPU (Central processing unit): Using Intel 8086, Using 4.9152Mhz.
2. ROM (Read Only Memory): It has program to control user's key input, LCD display, user's
program. 64K Byte, it has data communication program. Range of ROM Address is
F0000~FFFFFH.
3. SRAM (Static Random Access Memory): Input user's program & data. Address of memory is
00000H~0FFFFH, totally 64 KByte .
4. DISPLAY: It is LCD, 16(Character) × 2(Line).
5. KEY BOARD: It is used to input machine language and has 16 of hexa-decimal keys and 8 of
function keys.
6. SPEAKER: Able to test sound using with speaker and further more able to test synthesizer.
7. RS-232C: It is ready to do data communication with IBM compatible personal computer.
8. DOT MATRIX LED: To understand & test of dot matrix structure and principle of display it is
interfaced to 8255A (PPI).
9. A /D CONVERTER: Convert analog signal to digital signal using with ADC0804.
10. D /A CONVERTER: Convert digital signal to analog signal using with DAC0800 and it is
interfaced so as to more Level meter.
11. STEPPING MOTOR INTER FACE: So as to control stepping motor driver circuit of stepping
motor is interfaced. 12. POWER: AC 110~220V , DC +5V 3A , +12V 1A , -12V 0.5A SMPS.

8086 mapping:

Prepared by
Jibesh Kanti Saha
EEE-334 Experiment-1

Function of Keys:

Prepared by
Jibesh Kanti Saha
EEE-334 Experiment-1

Exercise 1: Store the following data as the contents of 01000H~01003H


respectively.
ADDRESS DATA ADDRESS DATA
01050 C0 01000 AB
01081 6F 01001 CD
01022 EF 01002 EF
01073 DA 01003 34

Arithmetic Instructions:
Arithmetic instructions include ADD, SUB, SBB, INC, MUL, DIV etc.
mnemonics. Their operations were explained in theory class and can be
found in the reference book.

Prepared by
Jibesh Kanti Saha
EEE-334 Experiment-1

Exercise 2: Execute the code and verify contents of every register.

Prepared by
Jibesh Kanti Saha
EEE-334 Experiment-1

 Find the Contents of AX, BX, DX, IP and Flag registers after each step and put
them in a tabular form.
 Explain operations of Arithmetic instructions and verify using your own
calculation.
 Explain the changes in the flag bits.

Procedure:
1. Write the assembly code (ASM code) in emulator (emu8086).
2. Save the file as ****.asm in the same folder where MASM execution is
present.
3. Open the [Link].
4. [Link] is used create ****.LST and ****.OBJ files form ****.ASM file.
5. If there are errors or warnings of any kind, then ****.OBJ file will not be
generated.
6. The ****.LST file will show the desired MACHINE codes for any writtem ASM
codes. The machine codes found are to be typed via keyboard (input device)
of the MDA-8086 microprocessor trainer kit.
7. To go to address of a memory location press AD key. This command key
allows the user to set the 20 bit address of a memory location in the format
of [Segment:Offset].
8. To enter to the offset part we have to press the : key.

Prepared by
Jibesh Kanti Saha
EEE-334 Experiment-1

9. For exchanging the 8-bit data on a specific memory location press DA key.
[Link] all data are in specific memory location press the RESET button.
11. Press STP (single step: this key allows executing one instruction at a time)
and + (increment by one: this key allows moving to the next memory location)
to see the step by step execution of the ASM code on the LCD unit.
12. Use REG and +,- to check the values of different register.
13. To execute the program fully press AD, : and then GO.

Prepared by
Jibesh Kanti Saha

Common questions

Powered by AI

Students may face challenges such as the complexity of machine code, understanding flag register changes, and troubleshooting ASM code errors. These challenges can be mitigated by providing pre-lab tutorials, offering real-time debugging assistance, and integrating software simulators that allow practice before physical implementation. This approach supports problem-solving skills while reducing the initial learning curve associated with hardware programming .

Arithmetic instructions such as ADD, SUB, INC, MUL, and DIV affect the flag registers by altering specific bits that reflect the outcome of these operations, such as the zero flag (ZF), sign flag (SF), and carry flag (CF). Understanding these changes is crucial because it allows the programmer to make decisions in the code based on the result of arithmetic operations, thereby enabling complex decision-making and control flow in programs .

Including A/D and D/A converters allows the MDA-8086 to interface with both digital and analog signals, providing flexibility in processing a wide range of inputs and outputs. This capability is crucial in applications requiring signal transformation for tasks involving instrumentation, control systems, and data acquisition, reflecting an essential aspect of modern microprocessor applications .

Understanding address memory ranges facilitates optimal memory usage and program structuring in low-level programming. It enables students to efficiently allocate and access data, preventing memory conflicts and allowing for control over program execution. This comprehension is essential for systems programming where efficient memory handling directly contributes to program performance .

Engaging with physical hardware like the MDA-8086 microprocessor kit allows students to translate theoretical knowledge of digital systems into practical experience. It fosters a deeper understanding of concepts like memory allocation, processor operations, and how abstract theories are applied in real-world systems. This exploration builds confidence in handling digital electronics and enhances cognitive retention through active learning .

The Read Only Memory (ROM) in the MDA-8086 system stores the program for controlling the user's key inputs, the LCD display, and the user's program data, facilitating communication via a data communication program. It has a 64K Byte storage capacity, and its address range is from F0000H to FFFFFH, offering a specific section of memory reserved for these essential system operations .

The MDA-8086 microprocessor kit can enhance learning outcomes by providing hands-on experience in assembly language programming, understanding hardware interfacing, and experimenting with digital signal processing. It enhances theoretical understanding through practice and enables students to experiment with various arithmetic instructions and observe resultant changes in registers and flags, fostering deeper insights into microprocessor operations and system-level integration .

Writing and executing assembly code on the MDA-8086 involves creating an ASM file, saving it in the same directory as the MASM executable, and using MASM.exe to compile it into LST and OBJ files. Any errors prevent the generation of the OBJ file. The machine codes derived from the LST file are inputted via the keyboard of the MDA-8086 microprocessor trainer kit. Address setting, data entry, and step-by-step execution are facilitated by various command keys such as AD, DA, STP, and others for interaction with memory and registers .

The different ICs include the CPU for processing using an Intel 8086, the ROM for storing control programs, SRAM for inputting user programs and data, and interfaces such as A/D and D/A converters for signal conversion. The LCD displays data while the keyboard inputs machine language, and R/232C facilitates data communication with a computer. DOT MATRIX LED, speaker, and stepping motor interfaces provide additional functionalities such as display testing, sound synthesis, and motor control, respectively. Each IC performs a specific role that collectively enables the MDA-8086's operation .

The 'single step execution' feature is important because it allows students to observe the execution of each instruction and its immediate effect on registers, memory, and flags. This methodical approach provides clarity on the program flow and debugging, enhancing understanding in locating logical errors and interpreting code execution, thereby deepening comprehension of assembly language programming .

You might also like