8086 Registers

  • Uploaded by: jerry
  • 0
  • 0
  • June 2020
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View 8086 Registers as PDF for free.

More details

  • Words: 585
  • Pages: 3
8086 CPU Registers The 8086 microprocessor has a total of fourteen registers that are accessible to the programmer. Eight of the registers are known as general purpose registers i.e. they can be used by the programmer for data manipulation. Each of the registers is 16 bits long i.e. can contain a 16-bit binary number. The first four registers are sometimes referred to as data registers. They are the ax, bx, cx and dx registers. The second four are referred to as index/pointer registers. They are the sp, bp, si and di registers. The data registers can be treated as 16-bit registers or they can each be treated as two 8-bit registers. Each 8-bit register can be used independently. The ax register may be accessed as ah and al (H and L refer to high-order and low-order bytes). Similarly bx may be accessed as bh, bl cx may be accessed as ch, cl dx may be accessed as dh, dl If you use a data register as an 8 bit register, you cannot use its 16 bit parent at the same time.

The four index registers can be used for arithmetic operations but their use is usually concerned with the memory addressing modes of the 8086 microprocessor which we look at later. The two remaining registers are the instruction pointer (ip) and the status word, or flags register. Neither of these is referenced directly by your program. Instruction Pointer Register This is a crucially important register which is used to control which instruction the CPU executes. The ip, or program counter, is used to store the memory location of the next instruction to be executed. The CPU checks the program counter to ascertain which instruction to carry out next. It then updates the program counter to point to the next instruction. Thus the program counter will always point to the next instruction to be executed.

Status (Flags) Register Nine individual bits of the status register are used as control flags (3 of them) and status flags (6 of them). The remaining 7 are not used. A flag can only take on the values 0 and 1. We say a flag is set if it has the value 1.

The status flags are used to record specific characteristics of arithmetic and of logical instructions. Example: The zero flag (Z-Flag) is set to 1 if the result of an arithmetic operation is zero. The control flags are used to control certain modes of the CPU. O-Flag

I-Flag

D-Flag

S-Flag

T-Flag

Z-Flag

A-Flag

P-Flag

15

C-Flag

0 Direction Overflow

Zero

Trap

Interrupt

Sign

Parity Auxilliary Carry

Carry

The Flags Register The use and manipulation of the flags register will be discussed in our treatment of 8086 assembly language.

8086 Registers General Purpose Registers 15

0

Accumulator Base

AX BX

Count

CX

Multiply, divide, I/O Pointer to base addresss (data) Count for loops, shifts

Data

DX

Multiply, divide, I/O

Pointer and Index Registers 15

0

Stack Pointer Base Pointer Source Index

SP

Pointer to top of stack

BP SI

Destination Index

DI

Pointer to base address (stack) Source string/index pointer Destination string/index pointer 15

0

Segment Registers Code Segment Data Segment Stack Segment Extra Segment

CS DS SS ES

Other Registers





Flags

Flags

IP

Instruction Pointer

Note: Four of the 16-bit registers may also be treated as eight 8-bit (one byte) registers. 7

Accumulator Base

AX BX

Count Data

CX DX

0 7

0

AH BH CH

AL BL

DH

DL

H: High Order Byte

CL

L: Low Order Byte

Related Documents

8086 Registers
June 2020 20
8086
November 2019 32
8086
May 2020 14
8086
September 2019 28
8086
June 2020 7
8086 Programming
June 2020 7

More Documents from "HariPriyan"

Boat And Ship Art
June 2020 21
December 2019 41
Types Of Chords.pdf
November 2019 33
8086 Registers
June 2020 20