Microprocessors
Undergraduate course, University of Giresun, Department of Electrical Electronics Engineering, 2024
Microprocessors act as the heartbeat of modern computing systems, executing numerous tasks with remarkable speed and precision. The x86 architecture, renowned for its adaptability and extensive use in personal computers and servers, provides a foundation for understanding the inner workings of contemporary processors. Microprocessor architecture is the driving force behind computation, makes these small but powerful devices. The complexity of the x86 instruction set and the fundamentals of assembly language programming are essential to directly communicating with the microprocessor. This includes covering the binary world and using the symbolic language of assembly to manipulate registers, control flow, and interact with memory.
Ders Öğretim Planı
Announcements
The Resources
- Emu8086 Microprocessor Emulator
- CPU Emulator
- Barry B. Brey, The Intel Microprocessors, Pearson.
- Topaloğlu, Nurettin, X86 Tabanlı Mikroişlemci Mimarisi ve Assembly Dili, Seçkin Yayınevi.
- Mikroişlemcilere Giriş Assembler ile Yazılım ve Arayüz - Mehmet Bodur (pdf)
- Intel 8086 ile Mikroişlemci Programlamaya Giriş - Şadi Çağatay Öztürk (pdf)
Past Exams:
2023-2024
vize (pdf) | final (pdf) | bütünleme (pdf)Soru Cevap vize (pdf) | final (pdf)
Chapter 1: Introduction, 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, Pins
Registers, acting as small, fast storage locations, play a crucial role in executing instructions and temporarily storing data. This chapter also covers the essential pins that facilitate communication and data transfer within the microprocessor. Understanding the interplay between registers and pins is foundational for understanding the complex operations of the 8086 architecture.
Chapter 3: Numbering systems, What is 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 as the bridge between human-readable code and machine-executable instructions.
Chapter 4: Memory access, Variables
Understanding the details of memory access is important, as it dictates how data is stored and retrieved. This chapter will systematically examine the mechanisms and principles controlling the memory operations in microprocessors. At the same time, this section covers the idea of variables, explaining how they work in storing and handling data.
Chapter 5: Interrupts, Common functions - emu8086.inc
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 examines their operational mechanisms and practical applications in assembly language programming.
Chapter 7: Flow control, Procedures
Flow control mechanisms determine the sequence of execution within a program. This chapter also covers procedures, modular and reusable code blocks fundamental for structured programming.
Chapter 8: Stack, Macros
The stack facilitates subroutine calls, parameter passing, and local variable storage. Concurrently, macros encapsulate and reuse code blocks efficiently.
Chapter 9: Controlling external devices
This chapter navigates through controlling external devices, explaining methods and protocols for interfacing with peripheral hardware.
Chapter 10: 8086 Instruction Set
The 8086 instruction set defines the operations the microprocessor can execute, covering their classifications, formats, and practical applications.
Chapter 11: 8086 Interrupt Functions
Interrupts enable the system to respond promptly to external events and prioritize tasks. This chapter examines the diverse interrupt functions of the 8086 architecture.