We may earn an affiliate commission when you visit our partners.
Dr. Yogesh Misra

This "8086 Microprocessor - Architecture & Programming" Lecture Series explains the in-depth architecture, instruction set, assembly language program, and directives of the 8086 microprocessor. In the lecture series, the in-depth demonstration of emu8086 and MASAM is also done. The emu8086 and MASAM software are used in this lecture series for writing and debugging assembly language programs. This lecture series contains a vast number of programming examples along with its demonstration using emu8086/MASAM software. After completion of this course learners will be able to:

Read more

This "8086 Microprocessor - Architecture & Programming" Lecture Series explains the in-depth architecture, instruction set, assembly language program, and directives of the 8086 microprocessor. In the lecture series, the in-depth demonstration of emu8086 and MASAM is also done. The emu8086 and MASAM software are used in this lecture series for writing and debugging assembly language programs. This lecture series contains a vast number of programming examples along with its demonstration using emu8086/MASAM software. After completion of this course learners will be able to:

1. Understand the development of microprocessor

2. Understanding the Processor-Based System

3. Understanding the Memory Interfacing with the processor

4. Illustrate the General Operation of the Processor

5. Explain the Evolution of Microprocessors

6. Understand the Architecture of the 8086 microprocessor

7. Illustrate the Pipelining Concept

8. Explain the Register Organization of the 8086 microprocessor

9. Summarize the status flags of the 8086 microprocessor

10. Summarize the machine control flags of the 8086 microprocessor

11.. Explain the significance of each bit of the flag register

12. Understand the signed and un-signed operations

13. Illustrate the concept of memory segmentation

14. Differentiate different addressing modes

15. Demonstrate the emu8086 Software for the development of the assembly language program of the 8086 microprocessor

16. Demonstrate the MASM Software for the development of the assembly language program of the 8086 microprocessor

17. Understand different instructions

18. Write, debug and execute various programs in the assembly language of the 8086 microprocessor

19. Understand the stack concept

Enroll now

What's inside

Learning objectives

  • Illustrate the working of processor based system
  • Understand the architecture of 8086 microprocessor
  • Understand the instruction set of 8086 microprocessor
  • Develop the assembly language programs using instruction set of 8086 microprocessor
  • Learn to use emu8086 software to write, debug and execute assembly language program of 8086 microprocessor
  • Learn to use masm software to write, debug and execute assembly language program of 8086 microprocessor

Syllabus

Introduction to Microprocessor
Introduction
Basic Understanding of Processor Based System
Basics of Memory Interfacing with processor (Part 1)
Read more
Basics of Memory Interfacing with processor (Part 2)
Basics of Memory Interfacing with processor (Part 3)
General Operation of Processor (Part 1)
General Operation of Processor (Part 2)
Evolution of Microprocessors
Challenge-1
Architecture of 8086 Microprocessor
Architecture of 8086
Pipelining Concept
Register Organization of 8086
Flags of 8086 Microprocessor
Memory Segmentation
Challenge-2
Signed and Unsigned Numbers
Signed and Unsigned Number Representation (Part 1)
Signed and Unsigned Number Representation (Part 2)
Examples on Signed and Unsigned Operation
Addressing Modes
Addressing Mode (Part 1)
Addressing Mode (Part 2)
Addressing Mode (Part 3)
Assembly Language Programming
Programming Example (Part 1)
Programming Example (Part 2)
Programming Example (Part 3)
ADD Instruction & Addition Program Example (Part 1)
ADD Instruction & Addition Program Example (Part 2)
Challenge-3
Assembler Directives
Demonstration of emu8086 Software
Assembler Directives (emu8086 Software Demonstration)
Programming Using Assembler Directives
Programming Using Assembler Directives (emu8086 Software Demonstration)
Logical Instruction & Programming Examples
Logical Instruction (Rotate)
Logical Instruction (Shift)
Program (Reject Negative Numbers from a series)
Comparison Instruction
Program (Find Larger Number)
Stack
MASM Software demonstration & Programming Examples
MASM Software demonstration
BCD to ASCII Code Conversion Program
Convert Packed BCD number to Unpacked BCD number
Reject negative numbers and store positive numbers
Count even and odd numbers

Save this course

Save 8086 Microprocessor - Architecture & Programming to your list so you can find it easily later:
Save

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in 8086 Microprocessor - Architecture & Programming with these activities:
Review Digital Logic Fundamentals
Strengthen your understanding of the underlying digital logic principles that the 8086 microprocessor is built upon. This will make understanding the architecture and instruction set much easier.
Browse courses on Boolean Algebra
Show steps
  • Review truth tables for AND, OR, NOT, XOR gates.
  • Practice simplifying Boolean expressions using Karnaugh maps.
  • Study the operation of flip-flops and registers.
Read 'The 8088 and 8086 Microprocessors' by Walter Triebel and Avtar Singh
Deepen your understanding of the 8086 architecture with a classic text. This book provides a comprehensive overview of the microprocessor's hardware and software aspects.
View Triebel on Amazon
Show steps
  • Obtain a copy of 'The 8088 and 8086 Microprocessors' by Triebel and Singh.
  • Focus on the chapters covering the 8086 architecture and instruction set.
  • Pay attention to the examples and diagrams illustrating the hardware aspects.
Read 'Assembly Language for x86 Processors' by Kip Irvine
Supplement your learning with a comprehensive textbook on assembly language programming. This book will serve as a valuable reference throughout the course and beyond.
Show steps
  • Obtain a copy of 'Assembly Language for x86 Processors' by Kip Irvine.
  • Read the chapters relevant to the 8086 microprocessor and assembly language programming.
  • Work through the examples and exercises in the book.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Write Assembly Programs for Basic Tasks
Reinforce your understanding of the 8086 instruction set by writing assembly language programs for common tasks. This will help you develop practical programming skills.
Show steps
  • Write a program to add two numbers.
  • Write a program to find the largest number in an array.
  • Write a program to convert a decimal number to binary.
  • Write a program to reverse a string.
Create a Cheat Sheet for 8086 Instructions
Consolidate your knowledge of the 8086 instruction set by creating a cheat sheet. This will be a useful reference tool for future programming tasks.
Show steps
  • List all the important 8086 instructions.
  • Include a brief description of each instruction's function.
  • Include examples of how to use each instruction.
Develop a Simple Calculator Program
Apply your knowledge of assembly language programming to develop a practical application. This project will challenge you to integrate different concepts and techniques.
Show steps
  • Design the user interface for the calculator.
  • Implement the arithmetic operations (addition, subtraction, multiplication, division).
  • Handle user input and output.
  • Test the calculator thoroughly.
Contribute to an 8086 Emulator Project
Enhance your understanding of the 8086 by contributing to an open-source emulator project. This will give you hands-on experience with the inner workings of the microprocessor.
Show steps
  • Find an open-source 8086 emulator project on GitHub or GitLab.
  • Study the project's codebase and documentation.
  • Identify a bug or feature to work on.
  • Submit a pull request with your changes.

Career center

Learners who complete 8086 Microprocessor - Architecture & Programming will develop knowledge and skills that may be useful to these careers:
Embedded Systems Engineer
As an Embedded Systems Engineer, you design, develop, and test software and hardware for embedded systems. This often involves working with microprocessors and assembly language. This course on 8086 Microprocessor Architecture and Programming helps you understand the inner workings of a specific microprocessor, the 8086. By learning about its architecture, instruction set, and assembly language, you gain expertise in writing efficient code for resource-constrained systems. The course's coverage of emu8086 and MASM software provides practical experience in developing and debugging assembly language programs, directly applicable to embedded systems development.
Firmware Engineer
A Firmware Engineer writes low-level code that controls the hardware of a device. This role involves developing, testing, and debugging firmware for embedded systems. This course on 8086 Microprocessor Architecture and Programming helps you understand the architecture and programming of a specific microprocessor. By understanding the instruction set and assembly language, you can write efficient and effective firmware. The hands-on experience with emu8086 and MASM software for developing and debugging assembly language programs gives you a practical advantage in firmware development, where direct hardware interaction is crucial.
Computer Architect
The Computer Architect designs and develops computer systems, including processors and memory systems. This typically requires a deep understanding of microprocessor architecture and assembly language. This course on 8086 Microprocessor Architecture and Programming helps you understand the architecture of a specific microprocessor, the 8086. By learning about its pipelining concept, register organization, and memory segmentation, you gain insights into the design considerations of computer systems. Understanding the instruction set aids in optimizing performance at the assembly level. An advanced degree is often required for this role.
Reverse Engineer
As a Reverse Engineer, you analyze software and hardware to understand their functionality, often without access to original source code or design documents. This requires knowledge of microprocessor architecture and assembly language. This course on 8086 Microprocessor Architecture and Programming helps you understand the inner workings of a specific microprocessor. By learning about its instruction set and assembly language, you gain expertise in disassembling and analyzing compiled code. The course's coverage of the stack concept is particularly useful for understanding function calls and data structures in reverse engineering.
Systems Programmer
A Systems Programmer develops and maintains the core components of an operating system or other system-level software. This often involves working with low-level code and interacting directly with hardware. This course on 8086 Microprocessor Architecture and Programming helps you understand microprocessor architecture and assembly language. By learning about memory segmentation, addressing modes, and interrupt handling, you gain expertise in developing efficient and reliable system software. The course's coverage of emu8086 and MASM software provides practical experience in developing and debugging low-level programs.
Hardware Engineer
A Hardware Engineer designs, develops, and tests computer hardware components and systems. The role requires a solid understanding of microprocessor architecture and digital logic. This course on 8086 Microprocessor Architecture and Programming may help you learn about the architecture of a specific microprocessor. By learning about the pipelining concept, register organization, and memory segmentation, you gain insights into the design considerations of computer systems. The course's coverage of memory interfacing with the processor is particularly relevant to hardware engineering.
Robotics Engineer
A Robotics Engineer designs, develops, and tests robots and robotic systems. They often implement control systems using microprocessors and embedded systems. This course on 8086 Microprocessor Architecture and Programming may be helpful for learning about the architecture of a specific microprocessor. By learning about the instruction set and assembly language, you can program and control robotic systems at a low level. The course's coverage of memory interfacing with the processor is particularly relevant to designing robotic hardware.
Game Developer
A Game Developer creates video games for various platforms. While modern game development often relies on high-level languages and game engines, understanding microprocessor architecture and assembly language can be useful for optimizing performance, especially in older or resource-constrained systems. This course on 8086 Microprocessor Architecture and Programming may be of some use in learning about a specific microprocessor. The course's coverage of assembly language programming provides insights into low-level optimizations that can improve game performance.
Technical Support Engineer
As a Technical Support Engineer, you provide technical assistance to customers or users of a product or service. While this role doesn't typically involve direct programming, understanding microprocessor architecture and assembly language can be helpful for troubleshooting hardware and software issues. This course on 8086 Microprocessor Architecture and Programming may be useful for gaining a deeper understanding of how computer systems work at a low level. This knowledge can assist in diagnosing and resolving complex technical problems.
Quality Assurance Engineer
A Quality Assurance Engineer tests software and hardware to ensure they meet quality standards. While this role doesn't require in-depth knowledge of microprocessor architecture, understanding the basics of how computer systems work can be beneficial. This course on 8086 Microprocessor Architecture and Programming may be useful for gaining a general understanding of computer architecture and assembly language. This knowledge can assist in designing effective test cases and identifying potential issues.
Computer Systems Analyst
The Computer Systems Analyst researches, analyzes, and recommends solutions for information technology needs. This course informs the Analyst about system architecture. This course on 8086 Microprocessor Architecture and Programming aids comprehension of how systems run. This course may prove helpful for understanding system constraints when recommending solutions. It helps the Analyst when assessing and recommending hardware or software upgrades.
Science Teacher
A Science Teacher educates students in scientific principles and concepts. While this role does not require deep expertise in microprocessor architecture, the concepts of the 8086 in this course enhance understanding of how computers work at a low level. This course may be of help in providing demonstrations and explanations in scientific settings. Students may come to understand how assembly language relates to higher-level programming languages.
Database Administrator
As Database Administrator, your work involves maintaining data integrity and speed of access. This course on 8086 Microprocessor Architecture and Programming may prove helpful, as it can help in your understanding of how a database's instructions are carried out. The course may be useful for optimizing database performance at a low level, especially for understanding memory management and data access patterns. The course can give you a deeper understanding of the underlying hardware and software interactions.
IT Support Specialist
An IT Support Specialist provides technical assistance for computer systems and software. They typically don't need to write assembly language programs, but this course on 8086 Microprocessor Architecture and Programming can provide a foundational understanding of computer hardware. This course may be of some limited value in diagnosing hardware issues and understanding system-level problems. The course gives you some context for how software interacts with the underlying hardware.
Data Scientist
The Data Scientist analyzes large datasets to extract knowledge and insights. While seemingly unrelated, this course on 8086 Microprocessor Architecture and Programming helps you understand how data is represented and manipulated at a low level. This course may be beneficial for optimizing data processing algorithms and understanding the limitations of computer hardware. This knowledge can assist in designing efficient data analysis pipelines.

Reading list

We've selected two books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in 8086 Microprocessor - Architecture & Programming.
Provides a comprehensive guide to assembly language programming for x86 processors, including the 8086. It covers the instruction set, addressing modes, and assembly language programming techniques in detail. This book is commonly used as a textbook in computer science and engineering courses. It offers a deeper dive into assembly language concepts than the course itself.
Provides a detailed explanation of the 8086 and 8088 microprocessors, covering their architecture, instruction set, and programming techniques. It includes numerous examples and exercises to help readers understand the concepts. This book is particularly useful for understanding the hardware aspects of the 8086.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Similar courses are unavailable at this time. Please try again later.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser