You are on page 1of 5

EEE-3103: Microprocessor and Interfacing

Dept. of Electrical and Electronic Engineering


University of Dhaka

Prof. Sazzad M.S. Imran, PhD


sazzadmsi.webnode.com
Registers of 8086

Control Flags of 8086:


TF = 1  processor operates in single stepping mode.
interrupt is recognized, TF flag is cleared.
CPU runs ISS (interrupt service subroutine).
IRET  CPU returns to main program from ISS,
TF flag is restored.

TF = set/reset  push flag register on stack,


change TF as desired,
pop flag register from stack.
Registers of 8086

Control Flags of 8086:


IF = 1  maskable interrupt INTR is enabled.
interrupt is recognized, IF flag is cleared.
IRET in ISS  IF is restored to its original value.
STI = IF set instruction and CLI = IF clear instruction.
When 8086 is reset, IF is cleared.

DF is used in string operations.


STD = DF set instruction and CLD = DF clear instruction.
DF = 1  DI and SI are automatically decremented
access string from highest memory location down to lowest memory location.
Registers of 8086
Pointers and Index Group of Registers:
SP and BP = pointer registers.
SI and DI = index registers.

All 4 are 16-bit registers.


All 4 are used to store offset addresses of memory locations.
MOV AH, [SI] implies,
SI=2000H, then
AHFFH
[SI+1:SI]=ABFFH

SI and DI  used as general purpose registers.


In string instructions,
SI = source index register,
source address = [SI]+[DS]
DI = destination index register,
destination address = [DI]+[ES]
Registers of 8086 The stack is a block of memory that may be
used for temporarily storing the contents of
Pointers and Index Group of Registers: registers inside CPU. • Stack is accessed
by using SP and SS. • Stack is a Top Down
SP  stack pointer. Data Structure whose elements are
contains offset address or stack top address. accessed by using a pointer (SP,SS).

stack address = [SP]+[SS]

BP  base pointer.
used to access data area in stack segment.
stack address = [BP]+[SS]
also used as general purpose register.

IP  instruction pointer.
contains offset address of next instruction to be fetched in BIU.
cannot be programmed by programmer.

You might also like