This document provides information about a course submission for a Microcontroller and Microprocessor course. It includes the course name and code, student details like name, ID, department, and date of submission. It then asks questions about the architecture and components of the 8086 microprocessor, including the function of registers like the accumulator, types of flags and general purpose registers, memory size, interrupts, and classifications of high and low order registers.
Download as DOCX, PDF, TXT or read online on Scribd
0 ratings0% found this document useful (0 votes)
55 views
Microcontroller and Microprocessor
This document provides information about a course submission for a Microcontroller and Microprocessor course. It includes the course name and code, student details like name, ID, department, and date of submission. It then asks questions about the architecture and components of the 8086 microprocessor, including the function of registers like the accumulator, types of flags and general purpose registers, memory size, interrupts, and classifications of high and low order registers.
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 10
Shanto Mariam University of Creative Technology
Department of Computer Science and Engineering
Course Name: Microcontroller and Microprocessor
Course Code: CSE 3135
Submitted to: Syed Jamaluddin Ahmad
Submitted by: Rakibul Hasan Rakib
Department: CSE ID: 181071019 Batch: 17th Semester: 7th Date of Submission: 12 June 2020. ASSESSMENT
What type of architecture used in 8086 microprocessor?
8086 Microprocessor is an enhanced version of 8085Microprocessor that was designed by Intel in 1976. • A Microprocessor is an Integrated Circuit with all the functions of a CPU however, it cannot be used stand alone since unlike a microcontroller it has no memory or peripherals. • 8086 does not have a RAM or ROM inside it. • it has internal registers for storing intermediate and final results and interfaces with memory located outside it through the System Bus. • In case of 8086, it is a 16-bit Integer processor in a 40 pin, Dual Inline Packaged IC. • 8086 provides the programmer with 14 internal registers, each 16 bits or 2 Bytes wide. • It is a 16-bit Microprocessor having 20 address lines and16 data lines that provides up to 1MB storage. • It consists of powerful instruction set, which provides operations like multiplication and division easily. • It supports two modes of operation, i.e. Maximum mode and Minimum mode. Maximum mode is suitable for system having multiple processors and Minimum mode is suitable for system having a single processor. The following diagram depicts the architecture of a 8086 Microprocessor −
What is the function of accumulator?
In the central processing unit, or CPU, of a computer, the accumulator acts as a special register that stores values and increments of intermediate arithmetic and logic calculations. The accumulator is a temporary memory location that is accessed speedily by the CPU. An accumulator is a register for short-term, intermediate storage of arithmetic and logic data in a computer's CPU (Central Processing Unit).In an arithmetic operation involving two operands, one operand has tobe in this register. And the result of the arithmetic operation will be stored or accumulated in this register. Similarly, in a logical operation involving two operands, one operand has to be in the accumulator. Also, some other operations, like complementing and decimal adjustment, can be performed only on the accumulator. What are the different types of flags in 8086 microprocessor? Flag Register It is a 16-bit register that behaves like a flip-flop, i.e. it changes its status according to the result stored in the accumulator. It has 9 flags and they are divided into 2 groups − Conditional Flags and Control Flags. Conditional Flags It represents the result of the last arithmetic or logical instruction executed. Following is the list of conditional flags − • Carry flag − This flag indicates an overflow condition for arithmetic operations. • Auxiliary flag − When an operation is performed at ALU, it results in a carry/barrow from lower nibble (i.e. D0 – D3) to upper nibble (i.e. D4 – D7), then this flag is set, i.e. carry given by D3 bit to D4 is AF flag. The processor uses this flag to perform binary to BCD conversion. • Parity flag − This flag is used to indicate the parity of the result, i.e. when the lower order 8-bits of the result contains even number of 1’s, then the Parity Flag is set. For odd number of 1’s, the Parity Flag is reset. • Zero flag − This flag is set to 1 when the result of arithmetic or logical operation is zero else it is set to 0. • Sign flag − This flag holds the sign of the result, i.e. when the result of the operation is negative, then the sign flag is set to 1 else set to 0. • Overflow flag − This flag represents the result when the system capacity is exceeded. Control Flags Control flags controls the operations of the execution unit. Following is the list of control flags − • Trap flag − It is used for single step control and allows the user to execute one instruction at a time for debugging. If it is set, then the program can be run in a single step mode. • Interrupt flag − It is an interrupt enable/disable flag, i.e. used to allow/prohibit the interruption of a program. It is set to 1 for interrupt enabled condition and set to 0 for interrupt disabled condition. • Direction flag − It is used in string operation. As the name suggests when it is set then string bytes are accessed from the higher memory address to the lower memory address and vice-a- versa. What are the types of general purpose registers in 8086? General purpose register There are 8 general purpose registers, i.e., AH, AL, BH, BL, CH, CL, DH, and DL. These registers can be used individually to store 8-bit data and can be used in pairs to store 16bit data. The valid register pairs are AH and AL, BH and BL, CH and CL, and DH and DL. It is referred to the AX, BX, CX, and DX respectively. • AX register − It is also known as accumulator register. It is used to store operands for arithmetic operations. • BX register − It is used as a base register. It is used to store the starting base address of the memory area within the data segment. • CX register − It is referred to as counter. It is used in loop instruction to store the loop counter. • DX register − This register is used to hold I/O port address for I/O instruction. What is the memory size of 8086 microprocessor? • To increase execution speed and fetching speed, 8086 segments the memory. • It’s 20 bit address bus can address 1MB of memory, it segments it into 4 64kB segments. • 8086 works only with four 64KB segments within the whole 1MB memory.
What are the various interrupts in 8086 microprocessor?
Which is the highest priority When microprocessor receives any interrupt signal from peripheral(s) which are requesting its services, it stops its current execution and program control is transferred to a sub-routine by generating CALL signal and after executing sub-routine by generating RET signal again program control is transferred to main program from where it had stopped. When microprocessor receives interrupt signals, it sends an acknowledgement (INTA) to the peripheral which is requesting for its service. Interrupts can be classified into various categories based on different parameters: • Hardware and Software Interrupts – When microprocessors receive interrupt signals through pins (hardware) of microprocessor, they are known as Hardware Interrupts. There are 5 Hardware Interrupts in 8085 microprocessor. They are – INTR, RST 7.5, RST 6.5, RST 5.5, TRAP Software Interrupts are those which are inserted in between the program which means these are mnemonics of microprocessor. There are 8 software interrupts in 8085 microprocessor. They are – RST 0, RST 1, RST 2, RST 3, RST 4, RST 5, RST 6, RST 7. • Vectored and Non-Vectored Interrupts – Vectored Interrupts are those which have fixed vector address (starting address of sub-routine) and after executing these, program control is transferred to that address.
• Non-Vectored Interrupts are those in which vector address is not
predefined. The interrupting device gives the address of sub- routine for these interrupts. INTR is the only non-vectored interrupt in 8085 microprocessor. • • Maskable and Non-Maskable Interrupts – Maskable Interrupts are those which can be disabled or ignored by the microprocessor. These interrupts are either edge-triggered or level-triggered, so they can be disabled. INTR, RST 7.5, RST 6.5, RST 5.5 are maskable interrupts in 8085 microprocessor. Non-Maskable Interrupts are those which cannot be disabled or ignored by microprocessor. TRAP is a non-maskable interrupt. It consists of both level as well as edge triggering and is used in critical power failure conditions. Priority of Interrupts – When microprocessor receives multiple interrupt requests simultaneously, it will execute the interrupt service request (ISR) according to the priority of the interrupts.
Name High order / Low order Register in 8086
microprocessor? In the 8086 Microprocessor, the registers are categorized into mainly four types: • General Purpose Registers • Segment Registers • Pointers and Index Registers • Flag or Status Register 1) General Purpose Registers The use of general-purpose registers is to store temporary data. While the instructions are executed in the control unit, they may work on some numeric value or some operands. These need to be stored somewhere so that the processor can operate on them easily. So, these registers are used in these cases. There are 4 general-purpose registers of 16-bit length each. Each of them is further divided into two subparts of 8-bit length each: one high, which stores the higher-order bits and another low which stores the lower order bits. • AX = [AH:AL] • BX = [BH:BL] • CX = [CH:CL] • DX = [DH:DL] 2) Segment Registers There are 4 segment registers in 8086 Microprocessor and each of them is of 16 bit. The code and instructions are stored inside these different segments. • Code Segment (CS) Register: The user cannot modify the content of these registers. Only the microprocessor's compiler can do this. • Data Segment (DS) Register: The user can modify the content of the data segment. • Stack Segment (SS) Registers: The SS is used to store the information about the memory segment. The operations of the SS are mainly Push and Pop. • Extra Segment (ES) Register: By default, the control of the compiler remains in the DS where the user can add and modify the instructions. If there is less space in that segment, then ES is used. ES is also used for copying purpose. 3) Pointers and Index Registers The pointers will always store some address or memory location. In 8086 Microprocessor, they usually store the offset through which the actual address is calculated. • Instruction Pointer (IP): The it also acts as an offset for CS register.pointer usually stores the address of the next instruction instruction that is to be executed. Apart from this, • Base Pointer (BP): The Base pointer stores the base address of the memory. Also, it acts as an offset for Stack Segment (SS). • Stack Pointer (SP): The Stack Pointer Points at the current top value of the Stack. Like the BP, it also acts as an offset to the Stack Segment (SS). The indexes are used with the extra segment and they usually are used for copying the contents of a particular block of memory to a new location. • Source Index (SI): It stores the offset address of the source. • Destination Index (DI): It stores the offset address of the Destination. 4) Flag or Status Register The Flag or Status register is a 16-bit register which contains 9 flags, and the remaining 7 bits are idle in this register. These flags tell about the status of the processor after any arithmetic or logical operation. IF the flag value is 1, the flag is set, and if it is 0, it is said to be reset.
(Ebook) Microcontrollers and Microcomputers Principles of Software and Hardware Engineering by Frederick M Cady ISBN 9780195371611, 0195371615 - The ebook in PDF/DOCX format is available for instant download
(Ebook) Microcontrollers and Microcomputers Principles of Software and Hardware Engineering by Frederick M Cady ISBN 9780195371611, 0195371615 - The ebook in PDF/DOCX format is available for instant download