Microprocessors

Undergraduate course, Giresun University, Department of Electrical Electronics Engineering, 2024

microprocessor Microprocessors execute instructions, process data, and coordinate the operations of modern computing systems. The 8086 architecture provides a useful foundation for studying processor organization, registers, memory access, instruction execution, and low-level programming. The 8086 is an early member of the x86 family. Although modern x86-64 processors are substantially more complex, the 8086 remains useful for introducing registers, segmentation, instruction execution, addressing modes, interrupts, and assembly programming.

Ders Öğretim Planı


Announcements

There are currently no announcements.


The Resources


Past Exams:


Preliminary Materials:

  • Prerequisites for preparation pdf
  • Key figures who have shaped the field pdf

Chapter 1: Introduction to Microprocessors and the 8086 Architecture

This chapter provides a foundational overview of microprocessor basics. It introduces the fundamental concepts of microprocessors and explores the significance of the 8086 architecture in computer systems. The content focuses on essential principles, helping students grasp the core workings of microprocessors.


Chapter 2: 8086 Registers and Pins

Registers are small, high-speed storage locations used during instruction execution. This chapter introduces the general-purpose, segment, pointer, index, and status registers of the 8086. It also examines the processor’s external pins, including address, data, control, interrupt, and timing signals.


Chapter 3: Number Systems and Assembly Language

Understanding numbering systems, which include binary and hexadecimal, is crucial for effectively handling data in microprocessor contexts. At the same time, the section examines the characteristics and importance of assembly language, explaining its role. Assembly language provides symbolic representations of machine instructions, registers, memory operands, and control-flow operations. An assembler translates the source code into machine code that the processor can execute.


Chapter 4: Memory access, Variables

Understanding the details of memory access is important, as it dictates how data is stored and retrieved. This chapter examines how the 8086 addresses memory using segment and offset values. It introduces physical address calculation, memory operands, data declarations, variable sizes, and the movement of data between registers and memory.


Chapter 5: Interrupt Fundamentals and the emu8086.inc Library

Interrupts, as a pivotal mechanism, play a crucial role in managing the flow of execution and responding to external events. This chapter explores the concepts and functionalities associated with interrupts, and it covers common functions encapsulated in the emu8086.inc library.


Chapter 6: Arithmetic and Logic Instructions

Arithmetic and logic instructions are essential for performing mathematical operations and logical comparisons. This chapter covers arithmetic, logical, shift, and rotate instructions. It also examines how these operations affect status flags such as Carry, Zero, Sign, Overflow, and Parity, which are later used by conditional jumps.


Chapter 7: Flow Control and Procedures

Flow control mechanisms determine the sequence of execution within a program. This chapter also introduces procedures, which are modular and reusable code blocks that support structured assembly-language programming.


Chapter 8: Stack, Macros

The 8086 stack is addressed through the SS and SP registers. It stores return addresses, saved register values, parameters, and temporary data during procedure calls. This chapter covers PUSH, POP, CALL, RET, and stack discipline. Concurrently, macros encapsulate and reuse code blocks efficiently. Unlike procedures, macros are expanded by the assembler at each point of use. This may reduce call overhead but can increase program size.


Chapter 9: Input/Output and External Device Control

This chapter introduces input/output ports and the IN and OUT instructions. It examines how assembly programs communicate with external devices and how device status, control, and data registers are accessed.


Chapter 10: 8086 Instruction Set Review

The 8086 instruction set defines the operations the microprocessor can execute, covering their classifications, formats, and practical applications.


Chapter 11: BIOS and DOS Interrupt Services

Interrupts enable the system to respond promptly to external events and prioritize tasks. This chapter examines the diverse interrupt functions of the 8086 architecture.