“Heaven’s Light is Our Guide”
Rajshahi University of Engineering & Technology, Rajshahi
Department of Electrical & Computer Engineering
Lab report
Course Code : ECE 3112
Course Title : Microprocessor, Assembly
Language & Interfacing Sessional
Experiment No : 01
Submission Date : 26-02-25
Submitted To- Submitted By-
Md. Faysal Ahamed Md. Himel Reza
Lecturer, Roll: 2110007
ECE, RUET
Experiment Number: 01
Experiment Name: Print something using EMU8086
Theory:
EMU8086 is an emulator for the Intel 8086 microprocessor, widely used for learning assembly
language programming. The 8086 is a 16-bit microprocessor that operates on x86 architecture.
It supports segmented memory addressing and includes registers like AX, BX, CX, DX, and
segment registers (CS, DS, SS, ES).
To print text using EMU8086, we use BIOS interrupt INT 10h for displaying characters and
INT 21h for printing strings. The MOV instruction loads data into registers, while INT executes
system-level functions. The LEA (Load Effective Address) instruction helps in accessing string
data stored in memory.
Using EMU8086, we can write, compile, and run assembly programs efficiently, making it a
useful tool for beginners in microprocessor programming.
Required Tools:
1. Laptop / PC
2. EMU8086
3. Internet
Code:
Output:
Fig. 1 Output of Hello himel from EMU8086
Discussion :
In this lab, we used EMU8086, an emulator for the 8086 microprocessor, to print text on the
screen using assembly language. The INT 21H interrupt was utilized for displaying characters
and strings. The MOV instruction was used to load values into registers, while LEA (Load
Effective Address) helped in printing strings stored in memory. This experiment demonstrated
how low-level programming interacts directly with hardware, enhancing our understanding of
computer architecture. Unlike high-level languages, assembly provides greater control over
system operations. However, writing code in assembly is complex and requires precise
instruction management. Overall, this lab helped us understand the basic operations of 8086
assembly programming and how text output is managed at the processor level.
Reference:
[1] P. Abel, IBM PC Assembly Language and Programming, 5th ed. Upper Saddle River, NJ,
USA: Prentice Hall, 2001.
[2] Y. Zhao, "Study on the application of EMU8086 in assembly language teaching," in Proc.
2010 Int. Conf. on Computer and Information Application (ICCIA), Tianjin, China, 2010,
pp. 132-135. doi: 10.1109/ICCIA.2010.6141542.