CNET 315 Microprocessor & Assembly Language

Slides:



Advertisements
Similar presentations
Instruction Set of 8086 Engr. M.Zakir Shaikh
Advertisements

Princess Sumaya Univ. Computer Engineering Dept. د. بســام كحـالــه Dr. Bassam Kahhaleh.
ACOE2511 Assembly Language Arithmetic and Logic Instructions.
80x86 Instruction Set Dr. Qiang Lin.
Gursharan Singh Tatla 21-Nov-20101www.eazynotes.com.
8086 : INSTRUCTION SET By, Pramod Sunagar Assistant Professor
Princess Sumaya University
Intel’s 8086 instruction-set
8-1 ECE 424 Design of Microprocessor-Based Systems Haibo Wang ECE Department Southern Illinois University Carbondale, IL x86 Instructions Part.
9-1 ECE 424 Design of Microprocessor-Based Systems Haibo Wang ECE Department Southern Illinois University Carbondale, IL x86 Instructions Part.
Microcomputer & Interfacing Lecture 3
CEG 320/520: Computer Organization and Assembly Language ProgrammingIntel Assembly 1 Intel IA-32 vs Motorola
Microprocessor Programming II
Ch. 7 Logic, Shift and Rotate instr.
COSC 456 Lesson 8 Cool Codes ADD AL,SIAL AL + SI ADD AL,[SI]AL AL + [SI] INC BXBX BX + 1 INC [BX]Ambiguity error INC BYTE PTR [BX][BX] [BX] + 1 INC WORD.
Types of Registers (8086 Microprocessor Based)
Copyright 2000ELEC 242 Arithmetic Instructions1 Arithmetic Instructions Arithmetic and logical instructions modify the contents of the Flag (Status) register.
Click to add Title Comunicación y Gerencia Click To add Subtitle Click to add Text Fundamentals of Assembly Language.
Assembly Language. Symbol Table Variables.DATA var DW 0 sum DD 0 array TIMES 10 DW 0 message DB ’ Welcome ’,0 char1 DB ? Symbol Table Name Offset var.
Microprocessor Programming II To discuss more complicated programming techniques Flag control instructions Compare and jump Subroutines Loop and string.
LEA instruction The LEA instruction can be used to get the offset address of a variable Example ORG 100h MOV AL, VAR1 ; check value of VAR1 by moving it.
October 1, 2003Serguei A. Mokhov, 1 SOEN228, Winter 2003 Revision 1.2 Date: October 25, 2003.
Microprocessor MA Rahim Khan Computer Engineering and Networks Department.
The Assemble, Unassemble commands of the debugger: U Command for converting machine code language source Equivalent machine code instructions Equivalent.
Comparison Instructions Test instruction –Performs an implied AND operation between each of the bits in 2 operands. Neither operand is modified. (Flags.
Computer and Information Sciences College / Computer Science Department CS 206 D Computer Organization and Assembly Language.
I NTEL 8086 M icroprocessor بسم الله الرحمن الرحيم 1.
8086 Microprocessor J Srinivasa Rao Govt Polytechnic Kothagudem Khammam.
Gursharan Singh Tatla INSTRUCTION SET OF 8085 Gursharan Singh Tatla Gursharan Singh Tatla
Computer Architecture CST 250
Chapter Nov-2010
Data Transfers, Addressing, and Arithmetic
Assembly Language Programming of 8085
Microprocessor T. Y. B. Sc..
3.Instruction Set of 8085 Consists of 74 operation codes, e.g. MOV
Chapter instruction description and assembler directives from Microprocessors and Interfacing by Douglas Hall.
Today we are going to discuss about,
Instruction Set of 8086 Microprocessor
Instruksi Set Prosesor 8088
ADDRESSING MODES.
Visit for more Learning Resources
Microprocessor Systems Design I
EE3541 Introduction to Microprocessors
EE3541 Introduction to Microprocessors
INSTRUCTION SET.
Machine control instruction
Assembly IA-32.
INSTRUCTION SET.
More on logical instruction and
Assembly Language Programming Part 2
ECE 353 Introduction to Microprocessor Systems
ADDRESSING MODES.
INSTRUCTION SET OF 8086 PAWAN KUMAR SINGH.
CS-401 Assembly Language Programming
Arithmetic Instructions
CS 301 Fall 2002 Assembly Instructions
X86’s instruction sets.
8086 Microprocessor.
Lecture 1 Instruction set of 8086 Лектор: Люличева И.А. 1.
Shift & Rotate Instructions)
T opic: S TRING I NSTRUCTION P RESENTED B Y: N OOR FATIMA M AHA AKRAM ASIF.
CNET 315 Microprocessor & Assembly Language
CNET 315 Microprocessor & Assembly Language
University of Gujrat Department of Computer Science
X86 Assembly Review.
UNIT-II Assembly Language Programs Involving Logical
Microprocessor and Assembly Language
CSC 497/583 Advanced Topics in Computer Security
Chapter 8: Instruction Set 8086 CPU Architecture
UNIT-II ADDRESSING MODES & Instruction set
Presentation transcript:

CNET 315 Microprocessor & Assembly Language Phiros Mansur Nalakath Course Coordinator College of Computer Science & Information Systems Jazan University, Jazan

Chapter 3 Part – II 8086 INSTRUCTION SET

To understand the 8086 instructions & its uses in Programming Objective: To understand the 8086 instructions & its uses in Programming CNET 315 Microprocessor & Assembly Language

8086 supports 6 types of instructions. 8086 Microprocessor Instruction Set 8086 supports 6 types of instructions. Data Transfer Instructions Arithmetic Instructions Logical Instructions String manipulation Instructions Process Control Instructions Control Transfer Instructions

1. Data Transfer Instructions 8086 Microprocessor Instruction Set 1. Data Transfer Instructions Instructions that are used to transfer data/ address in to registers, memory locations and I/O ports. Generally involve two operands: Source operand and Destination operand of the same size. Source: Register or a memory location or an immediate data Destination : Register or a memory location. The size should be a either a byte or a word.

1. Data Transfer Instructions 8086 Microprocessor Instruction Set 1. Data Transfer Instructions Mnemonics: MOV, XCHG MOV reg2/ mem, reg1/ mem MOV reg2, reg1 MOV mem, reg1 MOV reg2, mem (reg2)  (reg1) (mem)  (reg1) (reg2)  (mem) MOV reg/ mem, data MOV reg, data MOV mem, data (reg)  data (mem)  data XCHG reg2/ mem, reg1 XCHG reg2, reg1 XCHG mem, reg1 (reg2)  (reg1) (mem)  (reg1)

1. Data Transfer Instructions 8086 Microprocessor Instruction Set 1. Data Transfer Instructions Mnemonics: PUSH, POP PUSH reg16/ mem PUSH reg16 PUSH mem (SP)  (SP) – 2 MA S = (SS) x 1610 + SP (MA S ; MA S + 1)  (reg16) (MA S ; MA S + 1)  (mem) POP reg16/ mem POP reg16 POP mem MA S = (SS) x 1610 + SP (reg16)  (MA S ; MA S + 1) (SP)  (SP) + 2 (mem)  (MA S ; MA S + 1)

1. Data Transfer Instructions 8086 Microprocessor Instruction Set 1. Data Transfer Instructions Mnemonics: IN, OUT IN A, [DX] IN AL, [DX] IN AX, [DX] PORTaddr = (DX) (AL)  (PORT) (AX)  (PORT) IN A, addr8 IN AL, addr8 IN AX, addr8 (AL)  (addr8) (AX)  (addr8) OUT [DX], A OUT [DX], AL OUT [DX], AX PORTaddr = (DX) (PORT)  (AL) (PORT)  (AX) OUT addr8, A OUT addr8, AL OUT addr8, AX (addr8)  (AL) (addr8)  (AX)

2. Arithmetic Instructions 8086 Microprocessor Instruction Set 2. Arithmetic Instructions Mnemonics : ADD ADD reg2/ mem, reg1/mem ADD reg2, reg1 ADD reg2, mem ADD mem, reg1 (reg2)  (reg1) + (reg2) (reg2)  (reg2) + (mem) (mem)  (mem)+(reg1) ADD reg/mem, data ADD reg, data ADD mem, data (reg)  (reg)+ data (mem)  (mem)+data ADD A, data ADD AL, data8 ADD AX, data16 (AL)  (AL) + data8 (AX)  (AX) +data16 Mnemonics: ADD

2. Arithmetic Instructions 8086 Microprocessor Instruction Set 2. Arithmetic Instructions Mnemonics: SUB SUB reg2/ mem, reg1/mem SUB reg2, reg1 SUB reg2, mem SUB mem, reg1 (reg2)  (reg1) - (reg2) (reg2)  (reg2) - (mem) (mem)  (mem) - (reg1) SUB reg/mem, data SUB reg, data SUB mem, data (reg)  (reg) - data (mem)  (mem) - data SUB A, data SUB AL, data8 SUB AX, data16 (AL)  (AL) - data8 (AX)  (AX) - data16

2. Arithmetic Instructions 8086 Microprocessor Instruction Set 2. Arithmetic Instructions Mnemonics : INC, DEC INC reg/ mem INC reg8 INC reg16 INC mem (reg8)  (reg8) + 1 (reg16)  (reg16) + 1 (mem)  (mem) + 1 DEC reg/ mem DEC reg8 DEC reg16 DEC mem (reg8)  (reg8) - 1 (reg16)  (reg16) - 1 (mem)  (mem) - 1

2. Arithmetic Instructions 8086 Microprocessor Instruction Set 2. Arithmetic Instructions Mnemonics: MUL MUL reg/ mem MUL reg MUL mem For byte : (AX)  (AL) x (reg8) For word : (DX)(AX)  (AX) x (reg16) For byte : (AX)  (AL) x (mem8) For word : (DX)(AX)  (AX) x (mem16)

2. Arithmetic Instructions 8086 Microprocessor Instruction Set 2. Arithmetic Instructions Mnemonics: DIV DIV reg/ mem DIV reg DIV mem For 16-bit :- 8-bit : (AL)  (AX) :- (reg8) Quotient (AH)  (AX) MOD(reg8) Remainder For 32-bit :- 16-bit : (AX)  (DX)(AX) :- (reg16) Quotient (DX)  (DX)(AX) MOD(reg16) Remainder (AL)  (AX) :- (mem8) Quotient (AH)  (AX) MOD(mem8) Remainder (AX)  (DX)(AX) :- (mem16) Quotient (DX)  (DX)(AX) MOD(mem16) Remainder

2. Arithmetic Instructions 8086 Microprocessor Instruction Set 2. Arithmetic Instructions Mnemonics: CMP CMP reg2/mem, reg1/ mem CMP reg2, reg1 CMP reg2, mem CMP mem, reg1 Modify flags  (reg2) – (reg1) If (reg2) > (reg1) then CF=0, ZF=0, SF=0 If (reg2) < (reg1) then CF=1, ZF=0, SF=1 If (reg2) = (reg1) then CF=0, ZF=1, SF=0 Modify flags  (reg2) – (mem) If (reg2) > (mem) then CF=0, ZF=0, SF=0 If (reg2) < (mem) then CF=1, ZF=0, SF=1 If (reg2) = (mem) then CF=0, ZF=1, SF=0 Modify flags  (mem) – (reg1) If (mem) > (reg1) then CF=0, ZF=0, SF=0 If (mem) < (reg1) then CF=1, ZF=0, SF=1 If (mem) = (reg1) then CF=0, ZF=1, SF=0

Instruction Set 3. Logical Instructions 8086 Microprocessor Mnemonics: AND

Instruction Set 3. Logical Instructions 8086 Microprocessor Mnemonics: OR

Instruction Set 3. Logical Instructions 8086 Microprocessor Mnemonics : SHR

Instruction Set 3. Logical Instructions 8086 Microprocessor Mnemonics: SHL

Instruction Set 3. Logical Instructions 8086 Microprocessor Mnemonics: RCR

Instruction Set 3. Logical Instructions 8086 Microprocessor Mnemonics: ROL

4. String Manipulation Instructions 8086 Microprocessor Instruction Set 4. String Manipulation Instructions String : Sequence of bytes or words 8086 instruction set includes instruction for string movement, comparison, scan, load and store. REP instruction prefix : used to repeat execution of string instructions String instructions end with S or SB or SW. S represents string, SB string byte and SW string word. Offset or effective address of the source operand is stored in SI register and that of the destination operand is stored in DI register.

4. String Manipulation Instructions 8086 Microprocessor Instruction Set 4. String Manipulation Instructions Mnemonics: REP, MOVSB REP REPZ/ REPE (Repeat CMPS or SCAS until ZF = 0) MOVSB MOVSB/MOVSW (Move the String Byrtes/ Words from address in SI to address in DI) While CX  0 and ZF = 1, repeat execution of string instruction and (CX)  (CX) – 1 While CX  0 ,repeat execution of string instruction and (CX)  (CX) - 1

5. Processor Control Instructions 8086 Microprocessor Instruction Set 5. Processor Control Instructions Mnemonics Explanation STC Set CF  1 CLC Clear CF  0 CMC Complement carry CF  CF/ STD Set direction flag DF  1 CLD Clear direction flag DF  0 STI Set interrupt enable flag IF  1 CLI Clear interrupt enable flag IF  0 NOP No operation HLT Halt after interrupt is set LOCK Lock bus during next instruction

6. Control Transfer Instructions 8086 Microprocessor Instruction Set 6. Control Transfer Instructions Transfer the control to a specific destination or target instruction Un-Conditional Transfers Explanation CALL reg/ mem/ disp16 Call subroutine RET Return from subroutine JMP reg/ mem/ disp8/ disp16 Unconditional jump Conditional Jumps Explanation JC label (Address) Jump to Address if Carry=1 JNC label Jump to label if Carry=0 JZ label Jump to label if Result=0 JNZ label Jump to label if Result Non 0 JE label Jump to label if Results are Equal

Questions … ? Thank You…