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

Chapter: Microprocessor and Microcontroller : Programming of 8085 Processor

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
Microprocessor and Microcontroller : Programming of 8085 Processor : Instruction Set Classification of 8085 Processor |

Privacy Policy, Terms and Conditions, DMCA Policy and Compliant

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