How Sunil Mathur's Book on 8086 Microprocessor Can Help You Understand and Apply the Principles and Techniques of Architecture, Programming and Interfacing
# 8086 Microprocessor Book By Sunil Mathur Pdf Free 75 ## Outline of the article - Introduction - What is 8086 microprocessor and why is it important? - What is the book by Sunil Mathur about and what are its features? - How can you get the book for free in pdf format? - Architecture and Organization of 8086 Microprocessor - What are the main components of 8086 microprocessor and how do they work? - What are the different modes of operation of 8086 microprocessor and how do they affect its performance? - How does 8086 microprocessor communicate with other devices and memory? - Programming and Interfacing of 8086 Microprocessor - What are the different types of instructions and addressing modes of 8086 microprocessor and how do they affect its functionality? - How can you write assembly language programs for 8086 microprocessor using assembler directives and macros? - How can you interface 8086 microprocessor with various peripherals and devices using control signals and data transfer methods? - Benefits and Applications of 8086 Microprocessor - What are the advantages of using 8086 microprocessor over other microprocessors? - What are some of the real-world applications of 8086 microprocessor in various fields and domains? - How can you enhance your skills and knowledge on 8086 microprocessor by reading the book by Sunil Mathur? - Conclusion - Summarize the main points of the article and restate the thesis statement. - Provide a call to action for the readers to download the book by Sunil Mathur for free in pdf format. - Thank the readers for their time and attention. - FAQs - Provide 5 unique questions and answers related to the topic of the article. ## Article Are you interested in learning about one of the most popular and powerful microprocessors ever designed? Do you want to master the concepts of architecture, programming and interfacing of 8086 microprocessor? Do you want to get access to a comprehensive and easy-to-understand book on this topic for free in pdf format? If your answer is yes to any of these questions, then you have come to the right place. In this article, I will tell you everything you need to know about 8086 microprocessor book by Sunil Mathur pdf free 75. ### What is 8086 microprocessor and why is it important? A microprocessor is a small electronic device that can perform various arithmetic, logical and control operations on data. It is also known as the brain or heart of a computer system. A microprocessor consists of several components such as arithmetic logic unit (ALU), register unit, control unit, bus interface unit, execution unit etc. The 8086 microprocessor is one of the most famous and widely used microprocessors in history. It was developed by Intel Corporation in 1978 as a 16-bit extension of their earlier 8-bit microprocessor, 8080. It was also the first member of their x86 family of microprocessors that are still dominant in today's personal computers. The 8086 microprocessor has many features that make it important and influential in the field of computer science and engineering. Some of these features are: - It has a powerful instruction set that can perform complex operations on data such as multiplication, division, string manipulation etc. - It has a large address space that can access up to 1 MB (megabyte) of memory using segmented addressing mode. - It has two modes of operation: minimum mode and maximum mode. In minimum mode, it can operate as a single processor in a system. In maximum mode, it can operate as a master processor in a multiprocessor system. - It has a high speed and performance due to its pipelined architecture and efficient bus interface unit. - It has a wide range of applications in various domains such as industrial control, scientific computing, gaming, education etc. ### What is the book by Sunil Mathur about and what are its features? The book by Sunil Mathur is a comprehensive and easy-to-understand guide on the architecture, programming and interfacing of 8086 microprocessor. It is published by PHI Learning Pvt. Ltd. in 2011 and has 672 pages. It is suitable for undergraduate and postgraduate students of computer science and engineering, electronics and communication engineering, electrical and electronics engineering etc. The book by Sunil Mathur covers all the topics related to 8086 microprocessor in a systematic and logical manner. It starts with the introduction of analog and digital computers, computer generations, microcomputers and the architecture, organization of microprocessor 8085 along with its instruction set. It explains the architecture and organization of microprocessor 8086, its minimum and maximum mode configurations, its pin details and its system design. It also covers the instruction set of 8086 microprocessor, its addressing modes, instruction format, instruction templates and assembler directives. It then discusses the programming and interfacing of 8086 microprocessor with various peripherals and devices such as memory, input/output ports, keyboard, display, printer, ADC, DAC, stepper motor etc. using control signals and data transfer methods. It also includes several examples, programs, diagrams, tables and exercises to illustrate the concepts and enhance the learning experience. Some of the features of the book by Sunil Mathur are: - It is written in a simple and lucid language that can be easily understood by the readers. - It is well-organized and structured into 18 chapters that cover all the aspects of 8086 microprocessor in detail. - It is updated and revised according to the latest syllabus and trends in the field of microprocessor technology. - It is enriched with numerous figures, diagrams, tables and charts that help in visualizing and grasping the concepts better. - It is supplemented with several solved examples, programs, review questions, multiple choice questions and descriptive questions that help in testing and reinforcing the knowledge acquired. - It is accompanied by a CD-ROM that contains additional material such as simulation software, slides, solutions etc. ### How can you get the book by Sunil Mathur for free in pdf format? If you are interested in getting the book by Sunil Mathur for free in pdf format, then you have several options available online. You can search for the book on various websites that offer free ebooks or pdf downloads such as Scribd, Kopykitab, Google Books etc. You can also use torrent sites or file sharing platforms that allow you to download the book from other users who have uploaded it. However, you should be careful while downloading the book from these sources as they may contain viruses or malware that can harm your computer or device. You should also respect the copyright laws and the author's rights while downloading the book. Alternatively, you can also buy the book from online or offline stores that sell books at discounted prices or offer free shipping or delivery options. You can compare the prices and features of different sellers and choose the best one according to your preference and budget. You can also check the reviews and ratings of other buyers who have purchased the book before you to get an idea about its quality and content. ## Architecture and Organization of 8086 Microprocessor In this section, I will explain the architecture and organization of 8086 microprocessor in detail. I will describe the main components of 8086 microprocessor such as bus interface unit (BIU), execution unit (EU), register unit (RU), control unit (CU) etc. I will also explain the different modes of operation of 8086 microprocessor such as minimum mode and maximum mode. I will also explain how 8086 microprocessor communicates with other devices and memory using system bus. ### What are the main components of 8086 microprocessor and how do they work? The 8086 microprocessor is divided into two main functional units: bus interface unit (BIU) and execution unit (EU). The BIU is responsible for fetching instructions from memory, generating addresses for memory access, transferring data between memory and EU etc. The EU is responsible for decoding instructions, performing arithmetic and logical operations on data, controlling flags etc. instruction pointer (IP) is used to store the offset address of the next instruction to be executed within the code segment. The instruction queue (IQ) is a 6-byte buffer that prefetches instructions from memory and stores them for faster execution. The address adder is used to generate the 20-bit physical address by adding the segment base address and the offset address. The EU consists of four main components: register unit (RU), arithmetic logic unit (ALU), control unit (CU) and flag register. The register unit (RU) consists of four general-purpose registers (AX, BX, CX, DX) and four index registers (SI, DI, BP, SP). The general-purpose registers can be used for data storage or manipulation. The index registers can be used for addressing data in memory using indexed or based addressing modes. The arithmetic logic unit (ALU) is used to perform various arithmetic and logical operations on data such as addition, subtraction, multiplication, division, AND, OR, XOR etc. The control unit (CU) is used to decode the instructions fetched from the IQ and generate the appropriate control signals for the execution of the instructions. The flag register is a 16-bit register that contains 9 flags that indicate the status or outcome of an operation performed by the ALU. The flags are: - Carry flag (CF): indicates whether there is a carry or borrow out of the most significant bit of an operation. - Parity flag (PF): indicates whether the result of an operation has an even or odd number of 1 bits. - Auxiliary carry flag (AF): indicates whether there is a carry or borrow out of the least significant nibble (4 bits) of an operation. - Zero flag (ZF): indicates whether the result of an operation is zero or not. - Sign flag (SF): indicates whether the result of an operation is negative or positive by copying the most significant bit of the result. - Trap flag (TF): enables or disables the single-step mode of execution for debugging purposes. - Interrupt flag (IF): enables or disables the recognition of external interrupts by the microprocessor. - Direction flag (DF): controls the direction of string operations such as incrementing or decrementing the index registers. - Overflow flag (OF): indicates whether there is a signed overflow or underflow in an operation. ### What are the different modes of operation of 8086 microprocessor and how do they affect its performance? The 8086 microprocessor can operate in two different modes: minimum mode and maximum mode. These modes are selected by using a pin called MN/MX# on the microprocessor. If this pin is connected to ground (logic 0), then the microprocessor operates in minimum mode. If this pin is connected to Vcc (logic 1), then the microprocessor operates in maximum mode. The minimum mode is used when there is only one microprocessor in a system. In this mode, the microprocessor generates all the control signals required for memory and I/O interfacing. The microprocessor also uses a single clock generator chip called 8284 to provide clock signals for itself and other devices. The maximum mode is used when there are multiple microprocessors in a system. In this mode, the microprocessor acts as a master processor and communicates with other slave processors using special control signals called bus request/acknowledge signals. The microprocessor also uses a special chip called 8288 to generate control signals for memory and I/O interfacing. The microprocessor also uses a multiple clock generator chip called 8289 to provide clock signals for itself and other devices. The performance of 8086 microprocessor depends on various factors such as clock speed, instruction set, pipelining, memory access time etc. The performance can be measured by using parameters such as throughput, execution time, MIPS (million instructions per second) etc. ### How does 8086 microprocessor communicate with other devices and memory using system bus? The 8086 microprocessor communicates with other devices and memory using a system bus that consists of three types of buses: data bus, address bus and control bus. The data bus is a bidirectional bus that carries data between the microprocessor and other devices or memory. The data bus has 16 lines that can transfer 16 bits of data at a time. The data bus can also be multiplexed with lower order address lines to save pins on the microprocessor. The address bus is a unidirectional bus that carries addresses from the microprocessor to other devices or memory. The address bus has 20 lines that can address up to 1 MB of memory. The address bus can also be demultiplexed from the data bus using a latch. The control bus is a bidirectional bus that carries control signals from the microprocessor to other devices or memory and vice versa. The control bus has various lines that indicate the type, direction and timing of data transfer. Some of the control signals are: - Read/Write# (RD/WR#): indicates whether the microprocessor wants to read data from or write data to memory or I/O device. - Memory/IO# (M/IO#): indicates whether the microprocessor wants to access memory or I/O device. - Data/Address# (D/A#): indicates whether the data bus carries data or address. - Interrupt Request (INTR): indicates that an external device wants to interrupt the microprocessor. - Interrupt Acknowledge (INTA#): indicates that the microprocessor acknowledges the interrupt request. - Hold (HOLD): indicates that another device wants to take control of the system bus. - Hold Acknowledge (HLDA): indicates that the microprocessor grants the hold request. ## Programming and Interfacing of 8086 Microprocessor In this section, I will explain the programming and interfacing of 8086 microprocessor in detail. I will describe the different types of instructions and addressing modes of 8086 microprocessor and how they affect its functionality. I will also explain how to write assembly language programs for 8086 microprocessor using assembler directives and macros. I will also explain how to interface 8086 microprocessor with various peripherals and devices using control signals and data transfer methods. ### What are the different types of instructions and addressing modes of 8086 microprocessor and how they affect its functionality? The 8086 microprocessor has a powerful instruction set that can perform various operations on data such as arithmetic, logical, string, branch, stack, input/output etc. The instruction set can be classified into six groups according to their function: - Data transfer instructions: These instructions are used to move data between registers, memory and I/O devices. Some examples are MOV, PUSH, POP, IN, OUT etc. - Arithmetic instructions: These instructions are used to perform arithmetic operations on data such as addition, subtraction, multiplication, division etc. Some examples are ADD, SUB, MUL, DIV etc. - Logical instructions: These instructions are used to perform logical operations on data such as AND, OR, XOR, NOT etc. Some examples are AND, OR, XOR, NOT etc. - Shift and rotate instructions: These instructions are used to shift or rotate bits in a register or memory location left or right by a specified number of bits. Some examples are SHL, SHR, ROL, ROR etc. - String instructions: These instructions are used to perform operations on strings of bytes or words such as compare, move, scan etc. Some examples are CMPS, MOVS, SCAS etc. - Control transfer instructions: These instructions are used to alter the sequence of execution of instructions based on certain conditions such as jump, call, return etc. Some examples are JMP, CALL, RET etc. The 8086 microprocessor has various addressing modes that specify how the operands of an instruction are accessed from registers or memory. The addressing modes can be classified into four categories according to their type: - Data addressing modes: These modes are used to access data operands from registers or memory. Some examples are immediate, register direct, register indirect, displacement etc. - Address addressing modes: These modes are used to access address operands from registers or memory. Some examples are direct, register relative, based indexed etc. - Stack addressing mode: This mode is used to access operands from stack segment using stack pointer register SP. The example is implicit mode. - I/O addressing mode: This mode is used to access operands from I/O ports using port address in DX register. The example is direct mode. The functionality of 8086 microprocessor depends on the type and mode of instruction executed by it. The type of instruction determines what operation is performed on the operands and what flags are affected by it. The mode of instruction determines how the operands are accessed from registers or memory and what address calculations are involved in it. ### How can you write assembly language programs for 8086 microprocessor using assembler directives and macros? Assembly language is a low-level language that uses mnemonics to represent machine code instructions for a specific microprocessor. Assembly language programs for 8086 microprocessor can be written using an assembler software that converts the mnemonics into machine code. labels, macros etc. Assembler directives also provide information to the assembler software about the source code such as segment names, segment sizes, segment types etc. Some examples of assembler directives are: - ORG: Origin This directive is used to specify the starting address of a segment or a program. - EQU: Equate This directive is used to assign a constant value to a symbolic name or label. - SEGMENT: Segment This directive is used to define the name and type of a segment. - ENDS: End Segment This directive is used to mark the end of a segment definition. - ASSUME: Assume This directive is used to inform the assembler software which segment register holds the base address of a segment. - END: End This directive is used to mark the end of a source code file. Macros are predefined sequences of instructions that can be invoked by using a single name or mnemonic. Macros are useful for reducing the repetition of code and simplifying the programming task. Macros can be defined using macro directives such as: - MACRO: Macro This directive is used to mark the beginning of a macro definition. - ENDM: End Macro This directive is used to mark the end of a macro definition. Macros can be invoked by using their names followed by any parameters if required. Macros can also be nested within other macros. ### How can you interface 8086 microprocessor with various peripherals and devices using control signals and data transfer methods? Interfacing is the process of connecting and communicating between 8086 microprocessor and various peripherals and devices such as memory, input/output ports, keyboard, display, printer, ADC, DAC, stepper motor etc. Interfacing requires control signals and data transfer methods that enable the synchronization and coordination between 8086 microprocessor and other devices. Control signals are electrical signals that indicate the type, direction and timing of data transfer between 8086 microprocessor and other devices. Control signals can be classified into two types: memory control signals and I/O control signals. Memory control signals are used for interfacing 8086 microprocessor with memory devices such as RAM, ROM, EPROM etc. Memory control signals include: - Memory Read/Write# (MRD/MWR#): These signals indicate whether 8086 microprocessor wants to read data from or write data to memory device. - Memory/IO# (M/IO#): This signal indicates whether 8086 microprocessor wants to access memory device or I/O device. - Address Latch En