Home | | Microprocessors and Microcontrollers | Instruction Set Classification of 8085 Processor

Chapter: Microprocessor and Microcontroller - Programming of 8085 Processor

| Study Material, Lecturing Notes, Assignment, Reference, Wiki description explanation, brief detail |

Instruction Set Classification of 8085 Processor

These instructions can be classified into the following five functional categories: data transfer (copy) operations, arithmetic operations, logical operations, branching operations, and machine-control operations.

Instruction Set Classification

 

An instruction is a binary pattern designed inside a microprocessor to perform a specific function. The entire group of instructions, called the instruction set, determines what functions the microprocessor can perform. These instructions can be classified into the following five functional categories: data transfer (copy) operations, arithmetic operations, logical operations, branching operations, and machine-control operations.

 

1 Data Transfer Croup

 

The data transfer instructions move data between registers or between memory and registers.

 

MOV                              Move

 

MVI                                Move Immediate

 

LDA                                Load Accumulator Directly from Memory

 

STA                               Store Accumulator Directly in Memory

 

LHLD                             Load H & L Registers Directly from Memory

 

SHLD                             Store H & L Registers Directly in Memory

 

 

 

An 'X' in the name of a data transfer instruction implies that it deals with a register pair (16-bits);

 

LXI                                 Load Register Pair with Immediate data

 

LDAX                             Load Accumulator from Address in Register Pair

 

STAX                             Store Accumulator in Address in Register Pair

 

XCHG                  Exchange H & L with D & E

 

XTHL                             Exchange Top of Stack with H & L

 

2 Arithmetic Group

 

The arithmetic instructions add, subtract, increment, or decrement data in registers or memory.

 

ADD                               Add to Accumulator

 

ADI                                 Add Immediate Data to Accumulator

 

ADC                               Add to Accumulator Using Carry Flag

 

ACI                                 Add immediate data to Accumulator Using Carry

 

SUB                                Subtract from Accumulator

 

SUI                                 Subtract Immediate Data from Accumulator

 

SBB                                Subtract from Accumulator Using Borrow (Carry) Flag

 

SBI                                 Subtract Immediate from Accumulator Using Borrow (Carry) Flag

 

INR                                 Increment Specified Byte by One

 

DCR                               Decrement Specified Byte by One

 

INX                                 Increment Register Pair by One

 

DCX                               Decrement Register Pair by One

 

DAD                               Double Register Add; Add Content of Register

 

Pair to H & L Register Pair

 

3 Logical Group

 

This group performs logical (Boolean) operations on data in registers and memory and on condition flags. The logical AND, OR, and Exclusive OR instructions enable you to set specific bits in

 

the accumulator ON or OFF.

 

ANA                               Logical AND with Accumulator

 

ANI                                 Logical AND with Accumulator Using Immediate Data

 

ORA                               Logical OR with Accumulator

 

OR                                  Logical OR with Accumulator Using Immediate Data

 

XRA                               Exclusive Logical OR with Accumulator

 

XRI                                 Exclusive OR Using Immediate Data

 

The Compare instructions compare the content of an 8-bit value with the contents of the accumulator;

 

CMP                               Compare

 

CPI    Compare Using Immediate Data

 

The rotate instructions shift the contents of the accumulator one bit position to the left or right:

 

RLC                                Rotate Accumulator Left

 

RRC                                Rotate Accumulator Right

 

RAL                                Rotate Left Through Carry

 

RAR                               Rotate Right Through Carry

 

Complement and carry flag instructions:

 

CMA                               Complement Accumulator

 

CMC                               Complement Carry Flag

 

STC                                Set Carry Flag

 

4 Branch Group

 

The branching instructions alter normal sequential program flow, either unconditionally or

conditionally. The unconditional branching instructions are as follows:

 

JMP                                Jump

 

CALL                              Call

 

RET                                Return

 

Conditional branching instructions examine the status of one of four condition flags to determine

whether the specified branch is to be executed. The conditions that may be specified are as follows:

 

 

NZ                                 Not Zero (Z = 0)

 

Z                                    Zero (Z = 1)

 

NC                                 No Carry (C = 0)

 

C                                   Carry (C = 1)

 

PO                                 Parity Odd (P = 0)

 

PE                                  Parity Even (P = 1)

 

P                                    Plus (S = 0)

 

M                                   Minus (S = 1)

 

Thus, the conditional branching instructions are specified as follows:

 

 

Jumps         Calls  Returns      

INC   CNC  RNC  (No Carry)

JNZ   CNZ  RNZ  (Not Zero)

JM     CM    RM    (Minus)

JP0    CPO  RPO  (Parity Odd)

JM     CM    RM    (Minus)

JPE   CPE  RPE  (Parity Even)

JP0    CPO  RPO  (Parity Odd)

 

Two other instructions can affect a branch by replacing the contents or the program counter:

 

PCHL                              Move H & L to Program Counter

 

RST                                Special Restart Instruction Used with Interrupts

 

5 Stack Instructions

 

The following instructions affect the Stack and/or Stack Pointer

 

PUSH                             Push Two bytes of Data onto the Stack

 

POP                                Pop Two Bytes of Data off the Stack

 

XTHL                             Exchange Top of Stack with H & L

 

SPHL                              Move content of H & L to Stack Pointer

 

6 I/0 instructions

 

IN                                   Initiate Input Operation

 

OUT                               Initiate Output Operation

 

7 Machine Control instructions

 

EI                                    Enable Interrupt System

 

DI                                   Disable Interrupt System

 

HLT                                Halt

 

NOP                                No Operation


Study Material, Lecturing Notes, Assignment, Reference, Wiki description explanation, brief detail


Copyright © 2018-2020 BrainKart.com; All Rights Reserved. Developed by Therithal info, Chennai.