INSTRUCTION SET OF 8085.

Slides:



Advertisements
Similar presentations
PROGRAMMING WITH 8085 BTCS-404 (MALP) B.Tech 4th SEM. IT
Advertisements

Dept. of Electronics A. N. College, Patna M. Sc
8085 Architecture & Its Assembly language programming
Parul Polytechnic Institute Subject Code : Name Of Subject : Microprocessor and assembly language programming Name of Unit : 8085 instruction set.
TK 2633 Microprocessor & Interfacing
TK 2633 Microprocessor & Interfacing Lecture 3: Introduction to 8085 Assembly Language Programming (2) 1 Prepared By: Associate Prof. Dr Masri Ayob.
Room: E-3-31 Phone: Dr Masri Ayob TK 2633 Microprocessor & Interfacing Lecture 1: Introduction to 8085 Assembly Language.
Room: Timbalan Pengarah Pusat Komputer Phone: Dr Masri Ayob TK 2633 Microprocessor & Interfacing Lecture 4: Introduction.
TK 2633 Microprocessor & Interfacing
Room: E-3-31 Phone: Dr Masri Ayob TK 2633 Microprocessor & Interfacing Lecture 1: Introduction to 8085 Assembly Language.
Dr Masri Ayob TK 2633: Microprocessor & Interfacing Lecture 5: Arithmetic and Logic Instructions.
DEEPAK.P MICROPROCESSORS AND APPLICATIONS Mr. DEEPAK P. Associate Professor ECE Department SNGCE 1.
8085 Addressing Modes.  The number & Different kind of ways the programmer can refer to data stored in the memory  The different ways that a microprocessor.
Parul Polytechnic Institute Parul Polytechnic Institute Subject Code : Name Of Subject : Microprocessor and assembly language programming Name.
Rabel Talpur:12BME#025.  40-pin chip  Developed by Motorola in 1975  16 address lines and 8 data lines  Used only +5V.
INSTRUCTION SET OF MICROPROCESSOR 8085
UNDERSTANDING ASSEMBLY LANGUAGE.
CoE3DJ4 Digital Systems Design Chapter 3: instruction set summary.
Computer Architecture Lecture 13 – part 2 by Engineer A. Lecturer Aymen Hasan AlAwady 7/4/2014 University of Kufa - Information Technology Research and.
Microprocessor Dr. Rabie A. Ramadan Al-Azhar University Lecture 7.
Ass. Prof. Dr Masri Ayob Lecture 5: Arithmetic and Logic Instructions TK 2633: Microprocessor & Interfacing.
ASSEMBLY LANGUAGE.  Upon completing this topic, you should be able to: Classify the 8085A microprocessor instructions Explain the basic function of common.
Computer Architecture Lecture 11 by Engineer A. Lecturer Aymen Hasan AlAwady 10/3/2014 University of Kufa - Information Technology Research and Development.
Microprocessor Dr. Rabie A. Ramadan Al-Azhar University Lecture 8.
Assembly Language Programming of 8085 BY Prof. U. V. THETE Dept. of Computer Science YMA.
III] Logical Group 1)ANA r : LOGICAL AND REGISTER WITH ACCUMULATOR Format : [A] [A] Λ [r] Addressing : Register addressing Group : Logical group Bytes.
Computer Architecture Lecture 14 by Engineer A. Lecturer Aymen Hasan AlAwady 14/4/2014 University of Kufa - Information Technology Research and Development.
8085 INTERNAL ARCHITECTURE.  Upon completing this topic, you should be able to: State all the register available in the 8085 microprocessor and explain.
8 085Microprocessor Temp Reg (8) Accumulator (A reg) Flag flip flops(8) Instruction Register (8) Arithmetic Logic Unit ALU Instruction Decoder and Machine.
نظام المحاضرات الالكترونينظام المحاضرات الالكتروني 8085 Instruction Set logic group. Branch group. Stack memory and machine control. Addressing modes.
AMITY UNIVERSITY RAJASTHAN Present By M.Sc Applied Chemistry.
نظام المحاضرات الالكترونينظام المحاضرات الالكتروني 8085 Instruction Set Instruction types. data transfer group. Arithmetic group.
Addressing Modes of 8085 μP PRESENTED BY:- KRISHNA BALLABH GUPTA
The 8085A is a general-purpose microprocessor with low hardware overhead requirements. Within the 8085A are contained the functions of clock generation,
Introduction to 8085 Microprocessor
Unit Microprocessor.
8085 Microprocessor Architecture
Seminar On 8085 microprocessor
Gursharan Singh Tatla INSTRUCTION SET OF 8085 Gursharan Singh Tatla Gursharan Singh Tatla
Unit 1 Instruction set M.Brindha AP/EIE
PROGRAMMING OF 8085 PROCESSOR
Classification of Instruction Set of 8051
Gunjeet Kaur Dronacharya Group of institutions
Assembly Language Programming of 8085
Microprocessor T. Y. B. Sc..
Detailed Review of the 8085 Instruction Set.
3.Instruction Set of 8085 Consists of 74 operation codes, e.g. MOV
Lecture Set 5 The 8051 Instruction Set.
Introduction to 8085 Instructions
TAO1221 COMPUTER ARCHITECTURE AND ORGANIZATION LAB 3 & 4 Part 2
Presented by: Chi Yan Hung
TAO1221 COMPUTER ARCHITECTURE AND ORGANIZATION LAB 3 & 4 Part 1
8085 microprocessor.
The 8085 Microprocessor Architecture
Introduction to 8085 Prathamesh Bhat.
An Introduction to Microprocessor Architecture using intel 8085 as a classic processor
Additional data transfer and 16 bit arithmetic instruction Lecture 1
EMT 245: lecture 4: assembly language
MICROPROCESSOR AND PERIPHERAL DEVICES
R.RAJKUMAR DEPARTMENT OF CSE
Detailed Review of the 8085 Instruction Set.
Prepared by Kenan BOZDAŞ
Architecture & Support Components
Chapter 1 Introduction.
Introduction to Micro Controllers & Embedded System Design Instruction set Department of Electrical & Computer Engineering Missouri University of Science.
Arithmetic Instructions By Dr. S. N. Sampat, Team leader Ms. R. P
Programming Examples.
Computer Operation 6/22/2019.
Addressing Modes of 8085.
Branching Instructions By Dr. S. N. Sampat, Team leader Ms. R. P
Presentation transcript:

INSTRUCTION SET OF 8085

BINARY TO DECIMAL NUMBER FORMAT 8 4 2 1 DECIMAL = 0 = 1 = 2 = 3 = 4 = 5 = 6 = 7 8 4 2 1 DECIMAL = 8 = 9 = 10 = A = 11 = B = 12 = C = 13 = D = 14 = E = 15 = F

What is Instruction ????? An instruction is a binary pattern designed inside a microprocessor to perform a specific function. 8085 has 246 instructions. Each instruction is represented by an 8-bit binary value.

Classification Of Instruction Set There are 5 Types, (1) Data Transfer Instruction, (2) Arithmetic Instructions, (3) Logical Instructions, (4) Branching Instructions, (5) Control Instructions,

(1) Data Transfer Instructions MOV Rd, Rs MOV M, Rs MOV Rd, M This instruction copies the contents of the source register into the destination register. The contents of the source register are not altered. Example: MOV B,A or MOV M,B or MOV C,M

MOV B,A MOV M,B MOV C,M BEFORE EXECUTION AFTER EXECUTION A 20 B A 20 B 30 C D E H 20 L 50 30 A F B 30 C D E H 20 L 50 MOV M,B A F B C D E H 20 L 50 40 A F B C 40 D E H 20 L 50 40 MOV C,M

(2) Data Transfer Instructions MVI R, Data(8-bit) MVI M, Data(8-bit) The 8-bit immediate data is stored in the destination register (R) or memory (M), R is general purpose 8 bit register such as A,B,C,D,E,H and L. Example: MVI B, 60H or MVI M, 40H

MVI B,60H MVI M,40H BEFORE EXECUTION AFTER EXECUTION A F B 60 C D E H L A F B C D E H L MVI B,60H BEFORE EXECUTION AFTER EXECUTION 40 204FH 204FH HL=2050H HL=2050H MVI M,40H 2051H 2051H

(3) Data Transfer Instructions LDA 16-bit address The contents of a memory location, specified by a 16-bit address in the operand, are copied to the accumulator (A). The contents of the source are not altered. Example: LDA 2000H

BEFORE EXECUTION AFTER EXECUTION A 30 A 30 30 LDA 2000H 2000H 2000H

(4) Data Transfer Instructions LDAX Register Pair Load accumulator (A) with the contents of memory location whose address is specified by BC or DE or register pair. The contents of either the register pair or the memory location are not altered. Example: LDAX D

LDAX D 2030H 2030H BEFORE EXECUTION AFTER EXECUTION A F B C D 20 E 30 80 F B C D 20 E 30 80 80 2030H 2030H LDAX D

(5) Data Transfer Instructions STA 16-bit address The contents of accumulator are copied into the memory location i.e. address specified by the operand in the instruction. Example: STA 2000 H

BEFORE EXECUTION AFTER EXECUTION A 50 A 50 50 STA 2000H 2000H 2000H

(6) Data Transfer Instructions STAX Register Pair Store the contents of accumulator (A) into the memory location whose address is specified by BC Or DE register pair. Example: STAX B

STAX B 1020H 1020H BEFORE EXECUTION AFTER EXECUTION A 50 F B 10 C 20 D

(7) Data Transfer Instructions SHLD 16-bit address Store H-L register pair in memory. The contents of register L are stored into memory location specified by the 16-bit address. The contents of register H are stored into the next memory location. Example: SHLD 2500 H

SHLD 2500H BEFORE EXECUTION AFTER EXECUTION H 30 L 60 H 30 L 60 60 30 204FH 204FH SHLD 2500H 2500H 2500H 2502H 2502H

(8) Data Transfer Instructions XCHG The contents of register H are exchanged with the contents of register D. The contents of register L are exchanged with the contents of register E. Example: XCHG

XCHG BEFORE EXECUTION AFTER EXECUTION D 20 E 40 H 70 L 80 D 70 E 80 H

(9) Data Transfer Instructions SPHL Move data from H-L pair to the Stack Pointer (SP) This instruction loads the contents of H-L pair into SP. Example: SPHL

BEFORE EXECUTION SP H 25 L 00 SPHL AFTER EXECUTION SP 2500 H 25 L 00

(10) Data Transfer Instructions XTHL Exchange H–L with top of stack The contents of L register are exchanged with the location pointed out by the contents of the SP. The contents of H register are exchanged with the next location (SP + 1). Example: XTHL

XTHL L=SP H=(SP+1) BEFORE EXECUTION AFTER EXECUTION 2700H 2700H 2701H 50 60 SP 2700 40 30 2700H 2700H H 30 L 40 H 60 L 50 2701H 2701H XTHL 2702H 2702H

(11) Data Transfer Instructions PCHL Load program counter with H-L contents The contents of registers H and L are copied into the program counter (PC). The contents of H are placed as the high-order byte and the contents of L as the low-order byte. Example: PCHL

BEFORE EXECUTION AFTER EXECUTION PC PC 6000 PCHL H 60 L 00 H 60 L 00

(12) Data Transfer Instructions IN 8-bit port address Copy data to accumulator from a port with 8-bit address. The contents of I/O port are copied into accumulator. Example: IN 80 H

BEFORE EXECUTION PORT 80H 10 A IN 80H AFTER EXECUTION PORT 80H 10 A 10

(13) Data Transfer Instructions OUT 8-bit port address Copy data from accumulator to a port with 8-bit address The contents of accumulator are copied into the I/O port. Example: OUT 50 H

OUT 50H BEFORE EXECUTION AFTER EXECUTION PORT 50H 10 A 40 PORT 50H 40

Arithematic Instructions These instructions perform the operations like: Addition Subtraction Increment Decrement

(1) Arithematic Instructions ADD R ADD M The contents of register or memory are added to the contents of accumulator. The result is stored in accumulator. If the operand is memory location, its address is specified by H-L pair. Example: ADD C or ADD M

ADD C A=A+R ADD M A=A+M 2050 2050 10 10 BEFORE EXECUTION AFTER EXECUTION A 50 A 20 B C 30 D E H L B C 30 D E H L ADD C A=A+R BEFORE EXECUTION AFTER EXECUTION ADD M A=A+M A 20 A 30 B C D E H 20 L 50 B C D E H 20 L 50 10 10 2050 2050

(2) Arithematic Instructions ADC R ADC M The contents of register or memory and Carry Flag (CY) are added to the contents of accumulator. The result is stored in accumulator. If the operand is memory location, its address is specified by H-L pair. All flags are modified to reflect the result of the addition. Example: ADC C or ADC M

ADC C A=A+R+CY ADC M A=A+M+CY 2050H 2050H BEFORE EXECUTION AFTER EXECUTION CY 1 CY A 50 A 71 B C 20 D E H L B C 20 D E H L ADC C A=A+R+CY BEFORE EXECUTION AFTER EXECUTION 30 30 CY 1 CY ADC M A=A+M+CY 2050H 2050H A 20 A 51 H 20 L 50 H 20 L 50

(3) Arithematic Instructions ADI 8-bit data The 8-bit data is added to the contents of accumulator. The result is stored in accumulator. Example: ADI 10 H

BEFORE EXECUTION AFTER EXECUTION A 60 A 50 ADI 10H A=A+DATA(8)

(4) Arithematic Instructions ACI 8-bit data The 8-bit data and the Carry Flag (CY) are added to the contents of accumulator. The result is stored in accumulator. Example: ACI 20 H

ACI 20H A=A+DATA (8)+CY BEFORE EXECUTION AFTER EXECUTION CY 1 CY A 30 A 30 A 51

(5) Arithematic Instructions DAD Register pair The 16-bit contents of the register pair are added to the contents of H-L pair. The result is stored in H-L pair. If the result is larger than 16 bits, then CY is set. Example: DAD D

DAD D HL=HL+R BEFORE EXECUTION AFTER EXECUTION CY CY SP SP B C D 10 E CY SP SP DAD D HL=HL+R B C D 10 E 20 H L 50 B C D 10 E 20 H 30 L 70

(6) Arithematic Instructions SUB R SUB M The contents of the register or memory location are subtracted from the contents of the accumulator. The result is stored in accumulator. If the operand is memory location, its address is specified by H-L pair. Example: SUB B or SUB M

SUB B A=A-R SUB M A=A-M 1020H 1020H AFTER EXECUTION BEFORE EXECUTION A 50 A 20 B 30 C D E H L SUB B A=A-R B 30 C D E H L AFTER EXECUTION BEFORE EXECUTION 10 10 1020H A 50 1020H A 40 SUB M A=A-M H 10 L 20 H 10 L 20

(7) Arithematic Instructions SBB R SBB M The contents of the register or memory location and Borrow Flag (i.e.CY) are subtracted from the contents of the accumulator. The result is stored in accumulator. If the operand is memory location, its address is specified by H-L pair. Example: SBB C or SBB M

SBB C A=A-R-CY SBB M A=A-M-CY 2050H 2050H AFTER EXECUTION BEFORE EXECUTION CY 1 CY A 40 A 19 SBB C A=A-R-CY B C 20 D E H L B C 20 D E H L AFTER EXECUTION BEFORE EXECUTION 10 10 CY 1 CY 2050H 2050H A 50 A 39 SBB M A=A-M-CY H 20 L 50 H 20 L 50

(8) Arithematic Instructions SUI 8-bit data OPERATION: A=A-DATA(8) The 8-bit immediate data is subtracted from the contents of the accumulator. The result is stored in accumulator. Example: SUI 45 H

(9) Arithematic Instructions SBI 8-bit data The 8-bit data and the Borrow Flag (i.e. CY) is subtracted from the contents of the accumulator. The result is stored in accumulator. Example: SBI 20 H

SBI 20H A=A-DATA(8)-CY AFTER EXECUTION BEFORE EXECUTION CY CY 1 A 29 A CY 1 SBI 20H A=A-DATA(8)-CY A 29 A 50

(10) Arithematic Instructions INR R INR M The contents of register or memory location are incremented by 1. The result is stored in the same place. If the operand is a memory location, its address is specified by the contents of H-L pair. Example: INR B or INR M

INR B R=R+1 INR M M=M+1 BEFORE EXECUTION BEFORE EXECUTION AFTER EXECUTION A A A INR B R=R+1 B 10 C D E H L B 10 C D E H L B 11 C D E H L BEFORE EXECUTION AFTER EXECUTION 31 30 H 20 L 50 H 20 L 50 2050H 2050H INR M M=M+1

(11) Arithematic Instructions INX Rp The contents of register pair are incremented by 1. The result is stored in the same place. Example: INX H

INX H RP=RP+1 BEFORE EXECUTION AFTER EXECUTION SP SP B C D E H 11 L 21 10 L 20 INX H RP=RP+1

(12) Arithematic Instructions DCR R DCR M The contents of register or memory location are decremented by 1. The result is stored in the same place. If the operand is a memory location, its address is specified by the contents of H-L pair. Example: DCR E or DCR M

DCR E R=R-1 DCR M M=M-1 BEFORE EXECUTION AFTER EXECUTION A A B C D E 20 H L DCR E R=R-1 B C D E 19 H L BEFORE EXECUTION AFTER EXECUTION 20 21 H 20 L 50 H 20 L 50 2050H 2050H DCR M M=M-1

(13) Arithematic Instructions DCX Rp The contents of register pair are decremented by 1. The result is stored in the same place. Example: DCX D

DCX D RP=RP-1 BEFORE EXECUTION AFTER EXECUTION SP SP B C D 10 E 19 H L 20 H L DCX D RP=RP-1

(1) Logical Instructions ANA R ANA M AND specified data in register or memory with accumulator. Store the result in accumulator (A). Example: ANA B, ANA M

ANA B A=A and R ANA M A=A and M BEFORE EXECUTION 1010 1010=AAH 0000 1111=0FH 0000 1010=0AH AFTER EXECUTION CY AC CY AC 1 A AA A A 0A B 0F C D E H L B 10 C D E H L ANA B A=A and R B 0F C D E H L BEFORE EXECUTION AFTER EXECUTION 0101 0101=55H 1011 0011=B3H 0001 0001=11H B3 B3 CY AC 1 CY AC A 11 2050H A 55 2050H H 20 L 50 H 20 L 50 ANA M A=A and M

(2) Logical Instructions ANI 8-bit data AND 8-bit data with accumulator (A). Store the result in accumulator (A) Example: ANI 3FH

ANI 3FH A=A and DATA(8) BEFORE EXECUTION AFTER EXECUTION 1011 0011=B3H CY AC ANI 3FH A=A and DATA(8) CY AC 1 A B3 A 33

(3) Logical Instructions XRA Register (8-bit) XOR specified register with accumulator. Store the result in accumulator. Example: XRA C

XRA C A=A xor R 1010 1010=AAH 0010 1101=2DH 1000 0111=87H BEFORE EXECUTION AFTER EXECUTION CY AC CY AC A AA A A 87 B C 2D D E H L B 10 C D E H L XRA C A=A xor R B C 2D D E H L

(4) Logical Instructions XRA M XOR data in memory (memory location pointed by H-L pair) with Accumulator. Store the result in Accumulator. Example: XRA M

XRA M A=A xor M BEFORE EXECUTION AFTER EXECUTION 2050H 2050H 1011 0011=B3H 1110 0110=E6H BEFORE EXECUTION AFTER EXECUTION B3 B3 CY AC CY AC XRA M A=A xor M 2050H 2050H A 55 A E6 H 20 L 50 H 20 L 50

(5) Logical Instructions XRI 8-bit data XOR 8-bit immediate data with accumulator (A). Store the result in accumulator. Example: XRI 39H

XRI 39H A=A xor DATA(8) 1011 0011=B3H 0011 1001=39H 1000 1010=8AH BEFORE EXECUTION AFTER EXECUTION CY AC XRI 39H A=A xor DATA(8) CY AC A B3 A 8A

(6) Logical Instructions ORA Register OR specified register with accumulator (A). Store the result in accumulator. Example: ORA B

ORA B A=A or R 1010 1010=AAH 0001 0010=12H 1011 1010=BAH BEFORE EXECUTION AFTER EXECUTION CY AC CY AC ORA B A=A or R A AA A BA B 12 C D E H L B 12 C D E H L

(7) Logical Instructions ORA M OR specified register with accumulator (A). Store the result in accumulator. Example: ORA M

ORA M A=A or M 2050H 2050H 0101 0101=55H 1011 0011=B3H 1111 0111=F7H BEFORE EXECUTION AFTER EXECUTION CY AC CY AC ORA M A=A or M B3 B3 2050H 2050H A 55 A F7 H 20 L 50 H 20 L 50

(8) Logical Instructions ORI 8-bit data OR 8-bit data with accumulator (A). Store the result in accumulator. Example: ORI 08H

ORI 08H A=A or DATA(8) 1011 0011=B3H 0000 1000=08H 1011 1011=BBH BEFORE EXECUTION AFTER EXECUTION CY AC ORI 08H A=A or DATA(8) CY AC A B3 A BB

(9) Logical Instructions CMP Register CMP M Compare specified data in register or memory with accumulator (A). Store the result in accumulator. Example: CMP D or CMP M

CMP D A-R CMP M A-M BEFORE EXECUTION AFTER EXECUTION A>R: CY=0,Z=0 Z A A B8 A B8 B 10 C D E H L B C D B9 E H L CMP D A-R B C D B9 E H L BEFORE EXECUTION AFTER EXECUTION A>M: CY=0,Z=0 A=M: CY=0,Z=1 A<M: CY=1,Z=0 B8 B8 CY Z CY Z 1 A B8 2050H A B8 2050H CMP M A-M H 20 L 50 H 20 L 50

(10) Logical Instructions CPI 8-bit data Compare 8-bit immediate data with accumulator (A). Store the result in accumulator. Example: CPI 30H

CPI 30H A-DATA 1011 1010=BAH A>DATA: CY=0,Z=0 A=DATA: CY=0,Z=1 BEFORE EXECUTION AFTER EXECUTION CY Z CPI 30H A-DATA CY AC A BA A BA 1011 1010=BAH

(11) Logical Instructions STC It sets the carry flag to 1. Example: STC

BEFORE EXECUTION AFTER EXECUTION CY STC CY=1 CY 1

(12) Logical Instructions CMC It complements the carry flag. Example: CMC

BEFORE EXECUTION AFTER EXECUTION CY 1 CMC CY

(13) Logical Instructions CMA It complements each bit of the accumulator. Example: CMA

(14) Logical Instructions RLC Rotate accumulator left Each binary bit of the accumulator is rotated left by one position. Bit D7 is placed in the position of D0 as well as in the Carry flag. CY is modified according to bit D7. Example: RLC.

BEFORE EXECUTION CY B7 B6 B5 B4 B3 B2 B1 B0 AFTER EXECUTION B7 B6 B5 B4 B3 B2 B1 B0 B7

(15) Logical Instructions RRC Rotate accumulator right Each binary bit of the accumulator is rotated right by one position. Bit D0 is placed in the position of D7 as well as in the Carry flag. CY is modified according to bit D0. Example: RRC.

BEFORE EXECUTION B7 B6 B5 B4 B3 B2 B1 B0 CY AFTER EXECUTION B0 B7 B6 B5 B4 B3 B2 B1 B0

(16) Logical Instructions RAL Rotate accumulator left through carry Each binary bit of the accumulator is rotated left by one position through the Carry flag. Bit D7 is placed in the Carry flag, and the Carry flag is placed in the least significant position D0. CY is modified according to bit D7. Example: RAL.

BEFORE EXECUTION CY B7 B6 B5 B4 B3 B2 B1 B0 AFTER EXECUTION B7 B6 B5 B4 B3 B2 B1 B0 CY

(17) Logical Instructions RAR Rotate accumulator right through carry Each binary bit of the accumulator is rotated left by one position through the Carry flag. Bit D7 is placed in the Carry flag, and the Carry flag is placed in the least significant position D0. CY is modified according to bit D7. Example: RAR

BEFORE EXECUTION B7 B6 B5 B4 B3 B2 B1 B0 CY AFTER EXECUTION CY B7 B6 B5 B4 B3 B2 B1 B0

Concept of Subroutine In 8085 microprocessor a subroutine is a separate program written aside from main program ,this program is basically the program which requires to be executed several times in the main program. The microprocessor can call subroutine any time using CALL instruction. after the subroutine is executed the subroutine hands over the program to main program using RET instruction.

Branching Instructions The branch group instructions allows the microprocessor to change the sequence of program either conditionally or under certain test conditions. The group includes, (1) Jump instructions, (2) Call and Return instructions, (3) Restart instructions,

(1) Branching Instructions JUMP ADDRESS BEFORE EXECUTION AFTER EXECUTION Jump unconditionally to the address. The instruction loads the PC with the address given within the instruction and resumes the program execution from specified location. Example: JMP 200H PC JMP 2000H PC 2000

Conditional Jumps Instruction Code Decription Condition For Jump JC Jump on carry CY=1 JNC Jump on not carry CY=0 JP Jump on positive S=0 JM Jump on minus S=1 JPE Jump on parity even P=1 JPO Jump on parity odd P=0 JZ Jump on zero Z=1 JNZ Jump on not zero Z=0

(2) Branching Instructions CALL address Call unconditionally a subroutine whose starting address given within the instruction and used to transfer program control to a subprogram or subroutine. Example: CALL 2000H

Conditional Calls Instruction Code Description Condition for CALL CC Call on carry CY=1 CNC Call on not carry CY=0 CP Call on positive S=0 CM Call on minus S=1 CPE Call on parity even P=1 CPO Call on parity odd P=0 CZ Call on zero Z=1 CNZ Call on not zero Z=0

(3) Branching Instructions RET Return from the subroutine unconditionally. This instruction takes return address from the stack and loads the program counter with this address. Example: RET

RET BEFORE EXECUTION AFTER EXECUTION SP 27FD PC 00 62 SP 27FF PC 6200 27FDH 27FDH 27FEH 27FEH RET 27FFH 27FFH

(4) Branching Instructions RST n Restart n (0 to 7) This instruction transfers the program control to a specific memory address. The processor multiplies the RST number by 8 to calculate the vector address. Example: RST 6

SP-1 BEFORE EXECUTION AFTER EXECUTION RST 6 3000 PC 2000 SP 2999 PC 0030 01 20 2FFEH 2FFEH 2FFFH RST 6 2FFFH 3000H 3000H ADDRESS OF THE NEXT INSTRUCTION IS 2001H

Vector Address For Return Instructions Instruction Code Vector Address RST 0 0*8=0000H RST 1 0*8=0008H RST 2 0*8=0010H RST 3 0*8=0018H RST 4 0*8=0020H RST 5 0*8=0028H RST 6 0*8=0030H Rst 7 0*8=0038H

(1) Control Instructions NOP No operation No operation is performed. The instruction is fetched and decoded but no operation is executed. Example: NOP

(2) Control Instructions HLT Halt The CPU finishes executing the current instruction and halts any further execution. An interrupt or reset is necessary to exit from the halt state. Example: HLT

(3) Control Instructions RIM Read Interrupt Mask This is a multipurpose instruction used to read the status of interrupts 7.5, 6.5, 5.5 and read serial data input bit. The instruction loads eight bits in the accumulator with the following interpretations. Example: RIM

RIM INSTRUCTION

SIM Set Interrupt Mask This is a multipurpose instruction and used to implement the 8085 interrupts 7.5, 6.5, 5.5, and serial data output. The instruction interprets the accumulator contents as follows. Example: SIM

SIM Instruction

END OF INSTRUCTION SET