Welcome to Bucaro TecHelp!

Bucaro TecHelp
Maintain Your Computer and Use it More Effectively
to Design a Web Site and Make Money on the Web

About Bucaro TecHelp About BTH User Agreement User Agreement Privacy Policy Privacy Site Map Site Map Contact Bucaro TecHelp Contact RSS News Feeds News Feeds


Victims of Sandy Hook

Stop the Slaughter of Innocents. Congress is bought and paid for by gun lunatics and gun promotion groups. If you want to live in a safe America, help buy Congress back for America. Send a donation to Mayors Against Illegal Guns, 909 Third Avenue, 15th Floor New York, NY 10022


Microprocessor Registers

A CPU is primarily a circuit that reads instructions, and data, from a storage device, decodes those instructions, and performs calculations or input/output based upon those instructions. To a large extent the process is controlled by loading, transferring, and manipulating the contents of registers.

Different processors have a different set of registers, and the size of registers varies between different processors. Some registers have specific functions, and other registers are general purpose. The easiest way to learn about registers is to study an early 16-bit microprocessor. Shown below is the register set of the Intel 8086 microprocessor.

8086 registers

The 8086 microprocessor has fourteen 16-bit registers. Eight of the registers are known as General Purpose Registers because they can be used by the programmer for data manipulation. The general registers can be treated as 16-bit registers, or they can each be treated as two 8-bit registers that can be used independently.

The AX register can be accessed as a 16-bit register, or as AH an 8-bit register (H referring to the high-order byte of AX), and AL an 8-bit register (L referring to the low-order byte of AX). Similarly BX can be accessed as BH and BL, CX can be accessed as CH and CL, DX can be accessed as DH and DL.

The four index registers are used primarily with operations related to the memory addressing modes of the 8086 microprocessor.

The Instruction Pointer, sometimes called the program counter, is used to store the memory location of the next instruction to be executed. After that instruction is executed, the IP is updated to point to the next instruction. The IP will always point to the next instruction to be executed.

8086 flags

The Flags Register (sometimes called the Status Register) uses 9 individual bits to indicate the status of arithmetic, logical, and program instructions. A flag can take on a values of 0 or 1. A flag is set if it has the value 1. The remaining 7 bits of the Flags Register are not used. Below is a description of the purpose of individual flags.

•Overflow Flag (OF) Set when the result of an arithmetic operation is too large or is too small a negative number to fit into destination register.
•Direction Flag (DF) Set when string manipulation instructions will auto-decrement index registers. Cleared when the index registers will be auto-incremented.
•Interrupt-enable Flag (IF) Setting to enable maskable interrupts.
•Single-step Flag (TF) Set to indicate single-step interrupt will occur after the next instruction. •Sign Flag (SF) Set when the most significant bit of the result of an arithmetic operation is set.
•Zero Flag (ZF) Set if the result of an arithmetic operation is zero.
•Auxiliary carry Flag (AF) Set if the result of an arithmetic operation is a carry from or borrow to bits 0-3 in the AL register.
•Parity Flag (PF) Set if parity (the number of 1 bits) in the low-order byte of the result of an operation is even.
•Carry Flag (CF) Set if there was a carry from, or borrow to, the most significant bit during last operation.

To a large extent the operation of a microprocessor involves loading, transferring, and manipulating the contents of registers. In this article you learn about the functions, and purposes of the register set of the Intel 8086 microprocessor.

More Computer Anatomy Articles:
• Intel's Sandy Bridge Micro-Architecture
• Computer Video Display
• Basic Electronics for Computer Architecture
• The Computer's Chipset
• Binary Floating-Point Numbers
• Introduction to Microprocessor Programming
• Microprocessor Counter, Clock, Timer Circuits
• Basic Computer Architecture
• How Computer Memory Works
• Factors in Choosing an Oscilloscope

RSS Feed RSS Feed

Follow Stephen Bucaro Follow @Stephen Bucaro

Computer Subsections

Fire HD
[Site User Agreement] [Privacy Policy] [Site map] [Search This Site] [Contact Form]
Copyright©2001-2016 Bucaro TecHelp 13771 N Fountain Hills Blvd Suite 114-248 Fountain Hills, AZ 85268