6-1 ECE 424 Design of Microprocessor-Based Systems Haibo Wang ECE Department Southern Illinois University Carbondale, IL 62901 Intel 8088 Addressing modes.

Slides:



Advertisements
Similar presentations
Register In computer architecture, a processor register is a small amount of storage available on the CPU whose contents can be accessed more quickly than.
Advertisements

There are two types of addressing schemes:
10-1 ECE 424 Design of Microprocessor-Based Systems Haibo Wang ECE Department Southern Illinois University Carbondale, IL Subroutine and Interrupt.
COMP 2003: Assembly Language and Digital Logic
CEN 226: Computer Organization & Assembly Language :CSC 225 (Lec#3) By Dr. Syed Noman.
1/2002JNM1 AL 00 Immediate Addressing Mode Mov AL, 3CH AL 3C.
Chapter 3 Addressing Modes
Chapter Four–80x86 Instruction Set Principles of Microcomputers 2015年5月17日 2015年5月17日 2015年5月17日 2015年5月17日 2015年5月17日 2015年5月17日 1 Chapter four 80x86.
Lect 3: Instruction Set and Addressing Modes. 386 Instruction Set (3.4) –Basic Instruction Set : 8086/8088 instruction set –Extended Instruction Set :
Azir ALIU 1 What is an assembly language?. Azir ALIU 2 Inside the CPU.
Handout 2 Digital System Engineering (EE-390)
Stack Memory H H FFFFF H FFFFE H SS 0105 SP 0008 TOS BOS BOS = FFFF = 1104F H H 1104F H.
BUS Timing BREY-P.322. Bus Timing There are three types of buses of 8086 and 8088  address, data and control– function exactly the same way as those.
Data Movement Instructions
Assembly Language Fundamentals
Addressing modes – 1 The way in which an operand is specified is called the Address Mode.
The 8086 Assembly Programming Data Allocation & Addressing Modes
Addressing Modes Instruction – Op-code – Operand Addressing mode indicates a way of locating data or operands. – Any instruction may belong to one or more.
3-1 ECE 424 Design of Microprocessor-Based Systems Haibo Wang ECE Department Southern Illinois University Carbondale, IL Intel 8088 (8086) Microprocessor.
7-1 ECE 424 Design of Microprocessor-Based Systems Haibo Wang ECE Department Southern Illinois University Carbondale, IL Introduction to Assembly.
Interrupt Processing Haibo Wang ECE Department
8-1 ECE 424 Design of Microprocessor-Based Systems Haibo Wang ECE Department Southern Illinois University Carbondale, IL x86 Instructions Part.
ICS312 Set 3 Pentium Registers. Intel 8086 Family of Microprocessors All of the Intel chips from the 8086 to the latest pentium, have similar architectures.
Microprocessor Systems Design I
Microprocessor Systems Design I Instructor: Dr. Michael Geiger Spring 2013 Lecture 4: 80386DX memory, addressing.
Riyadh Philanthropic Society For Science Prince Sultan College For Woman Dept. of Computer & Information Sciences CS 251 Introduction to Computer Organization.
Lect 4: Instruction Set and Addressing Modes. 386 Instruction Set (3.4)  Basic Instruction Set : 8086/8088 instruction set  Extended Instruction Set.
An Introduction to 8086 Microprocessor.
1/2002JNM1 Positional Notation (Hex Digits). 1/2002JNM2 Problem The 8086 has a 20-bit address bus. Therefore, it can access 1,048,576 bytes of memory.
Types of Registers (8086 Microprocessor Based)
INSTRUCTION SET AND ASSEMBLY LANGUAGE PROGRAMMING
Introduction to Assembly Language Programming 1. Overview of Assembly Language  Advantages:  Disadvantages: Faster as compared to programs written using.
ECE 353 Introduction to Microprocessor Systems Michael G. Morrow, P.E. Week 7.
ECE291 Computer Engineering II Lecture 3 Josh Potts University of Illinois at Urbana- Champaign.
Intel 8086 (8088) Microprocessor Structure
3.4 Addressing modes Specify the operand to be used. To generate an address, a segment register is used also. Immediate addressing: the operand is a number.
University of Sargodha, Lahore Campus Prepared by Ali Saeed.
Internal Programming Architecture or Model
Computer Organization & Assembly Language University of Sargodha, Lahore Campus Prepared by Ali Saeed.
Intel MP Organization. Registers - storage locations found inside the processor for temporary storage of data 1- Data Registers (16-bit) AX, BX, CX, DX.
I NTEL 8086 M icroprocessor بسم الله الرحمن الرحيم 1.
Addressing Modes Instruction – Op-code – Operand Addressing mode indicates a way of locating data or operands. – Any instruction may belong to one or more.
Microprocessors CSE- 341 Dr. Jia Uddin Assistant Professor, CSE, BRAC University Dr. Jia Uddin, CSE, BRAC University.
Computer Science 516 Intel x86 Overview. Intel x86 Family Eight-bit 8080, 8085 – 1970s 16-bit 8086 – was internally 16 bits, externally 8 bits.
Instruction set Architecture
Microprocessor Systems Design I
Microprocessor Systems Design I
Introduction to 8086 Microprocessor
COURSE OUTCOMES OF MICROPROCESSOR AND PROGRAMMING
16.317: Microprocessor System Design I
Instruksi Set Prosesor 8088
ADDRESSING MODES.
EE3541 Introduction to Microprocessors
ADDRESSING MODES.
Intel 8088 (8086) Microprocessor Structure
Assembly Lang. – Intel 8086 Addressing modes – 1
Introduction to Assembly Language
Data Addressing Modes • MOV AX,BX; This instruction transfers the word contents of the source-register(BX) into the destination register(AX). • The source.
Intel 8088 (8086) Microprocessor Structure
8086 Registers Module M14.2 Sections 9.2, 10.1.
CS-401 Computer Architecture & Assembly Language Programming
Morgan Kaufmann Publishers Computer Organization and Assembly Language
32-bit instruction mode(80386-Pentium 4 only)
(Array and Addressing Modes)
(Array and Addressing Modes)
CNET 315 Microprocessor & Assembly Language
Computer Architecture CST 250
Data Movement Instructions
Unit-I 80386DX Architecture
(Array and Addressing Modes)
Presentation transcript:

6-1 ECE 424 Design of Microprocessor-Based Systems Haibo Wang ECE Department Southern Illinois University Carbondale, IL Intel 8088 Addressing modes

6-2 What is the Meaning of Addressing Modes?  When a CPU executes an instruction, it needs to know where to get data and where to store results. Such information is specified in the operand fields of the instruction MOV AL, BL OpcodeModeOperand1Operand2  An operand can be: — A datum — A register location — A memory location  Addressing modes define how the CPU finds where to get data and where to store results

6-3 Immediate Addressing  Data needed by the processor is contained in the instruction For Example: move 7 to register AL MOV AL, 7 AH AL 7 Machine code of MOV AL, AL Indicate 8-bit data operation Move an immediate datum to a register

6-4 Register Addressing  Operands of the instruction are the names of internal register  The processor gets data from the register locations specified by instruction operands For Example: move the value of register BL to register AL MOV AL, BLAH BH AL BL  If AX = 1000H and BX=A080H, after the execution of MOV AL, BL what are the new values of AX and BX? In immediate and register addressing modes, the processor does not access memory. Thus, the execution of such instructions are fast.

6-5 Direct Addressing  The processor accesses a memory location  The memory location is determined by the value of segment register DS and the displacement (offset) specified in the instruction operand field DS  10H + Displacement = Memory location — Example: assume DS = 1000H, AX = 1234H MOV [7000H], AX AHAL H 17000H DS: _ + Disp:

6-6 Register Indirect Addressing  One of the registers BX, BP, SI, DI appears in the instruction operand field. Its value is used as the memory displacement value. For Example:MOV DL, [SI]  Memory address is calculated as following: DS SS  10H + BX SI DI BP = Memory address  If BX, SI, or DI appears in the instruction operand field, segment register DS is used in address calculation  If BP appears in the instruction operand field, segment register SS is used in address calculation

6-7 Register Indirect Addressing  Example 1: assume DS = 0800H, SI=2000H MOV DL, [SI] 12 0A000H DHDL 12 DS: _ + SI: A  Example 2: assume SS = 0800H, BP=2000H, DL = 7 MOV [BP], DL memory

6-8 Based Addressing  The operand field of the instruction contains a base register (BX or BP) and an 8-bit (or 16-bit) constant (displacement) For Example:MOV AX, [BX+4]  Calculate memory address DS SS  10H + + Displacement = Memory address  If BX appears in the instruction operand field, segment register DS is used in address calculation  If BP appears in the instruction operand field, segment register SS is used in address calculation BX BP What’s difference between register indirect addressing and based addressing?

6-9 Based Addressing  Example 1: assume DS = 0100H, BX=0600H MOV AX, [BX+4] B H AHAL B0 DS: _ + BX: Disp.:  Example 2: assume SS = 0A00H, BP=0012H, CH = ABH MOV [BP-7], CH 01605H C0 memory

6-10 Indexed Addressing  The operand field of the instruction contains an index register (SI or DI) and an 8-bit (or 16-bit) constant (displacement) For Example:MOV [DI-8], BL  Calculate memory address DS  10H + + Displacement = Memory address SI DI  Example: assume DS = 0200H, DI=0030H BL = 17H MOV [DI-8], BL DS: _ + DI: Disp.: BHBL H memory

6-11 Based Indexed Addressing  The operand field of the instruction contains a base register (BX or BP) and an index register For Example:MOV [BP] [SI], AH MOV [BP+SI], AH  Calculate memory address DS SS  10H + + {SI or DI} = Memory address  If BX appears in the instruction operand field, segment register DS is used in address calculation  If BP appears in the instruction operand field, segment register SS is used in address calculation BX BP or

6-12 Based Indexed Addressing  Example 1: assume SS = 2000H, BP=4000H, SI=0800H, AH=07H MOV [BP] [SI], AH AHAL SS: _ + BP: SI.:  Example 2: assume DS = 0B00H, BX=0112H, DI = 0003H, CH=ABH MOV [BX+DI], CH 24800H 07 memory

6-13 Based Indexed with Displacement Addressing  The operand field of the instruction contains a base register (BX or BP), an index register, and a displacement For Example:MOV CL, [BX+DI+2080H]  Calculate memory address DS SS  10H + + {SI or DI} + Disp. = Memory address  If BX appears in the instruction operand field, segment register DS is used in address calculation  If BP appears in the instruction operand field, segment register SS is used in address calculation BX BP

6-14 Based Indexed with Displacement Addressing  Example 1: assume DS = 0300H, BX=1000H, DI=0010H MOV CL, [BX+DI+2080H] CHCL DS: _ + BX: DI.: Disp  Example 2: assume SS = 1100H, BP=0110H, SI = 000AH, CH=ABH MOV [BP+SI+0010H], CH 06090H20 memory 20