Microprocessor Systems Design I

Slides:



Advertisements
Similar presentations
Chapter 2 (cont.) An Introduction to the 80x86 Microprocessor Family Objectives: The different addressing modes and instruction types available The usefulness.
Advertisements

CEN 226: Computer Organization & Assembly Language :CSC 225 (Lec#3) By Dr. Syed Noman.
16.317: Microprocessor System Design I Instructor: Dr. Michael Geiger Spring 2012 Lecture 8: Data Transfer Instructions.
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.
6-1 ECE 424 Design of Microprocessor-Based Systems Haibo Wang ECE Department Southern Illinois University Carbondale, IL Intel 8088 Addressing modes.
Lect 3: Instruction Set and Addressing Modes. 386 Instruction Set (3.4) –Basic Instruction Set : 8086/8088 instruction set –Extended Instruction Set :
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.
Addressing Modes Instruction – Op-code – Operand Addressing mode indicates a way of locating data or operands. – Any instruction may belong to one or more.
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 Instructor: Dr. Michael Geiger Spring 2012 Lecture 2: 80386DX Internal Architecture & Data Organization.
Microprocessor Systems Design I
80x86 Processor Architecture
Microprocessor Systems Design I Instructor: Dr. Michael Geiger Spring 2013 Lecture 4: 80386DX memory, addressing.
Microprocessor Systems Design I
Microprocessor Systems Design I Instructor: Dr. Michael Geiger Spring 2014 Lecture 4: x86 memory.
© 2006 Pearson Education, Upper Saddle River, NJ All Rights Reserved.Brey: The Intel Microprocessors, 7e Chapter 2 The Microprocessor and its Architecture.
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.
INSTRUCTION SET AND ASSEMBLY LANGUAGE PROGRAMMING
ECE291 Computer Engineering II Lecture 3 Josh Potts University of Illinois at Urbana- Champaign.
UHD:CS2401: A. Berrached1 The Intel x86 Hardware Organization.
INTRODUCTION TO MICROPROCESSOR Engr. Ammar Anwar Khan.
(-133)*33+44* *33+44*14 Input device memory calculator Output device controller Control bus data bus memory.
ECE291 Computer Engineering II Lecture 3 Josh Potts University of Illinois at Urbana- Champaign.
ECE291 Computer Engineering II Lecture 3 Dr. Zbigniew Kalbarczyk University of Illinois at Urbana- Champaign.
Assembly Language Data Movement Instructions. MOV Instruction Move source operand to destination mov destination, source The source and destination are.
Internal Programming Architecture or Model
Microprocessor, Programming & Interfacing Tutorial 2- Module 3.
Microprocessors CSE- 341 Dr. Jia Uddin Assistant Professor, CSE, BRAC University Dr. Jia Uddin, CSE, BRAC University.
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.
Microprocessors CSE- 341 Dr. Jia Uddin Assistant Professor, CSE, BRAC University Dr. Jia Uddin, CSE, BRAC University.
Presentation on Real Mode Memory Addressing
Microprocessor Systems Design I
Microprocessor Systems Design I
16.317: Microprocessor System Design I
COURSE OUTCOMES OF MICROPROCESSOR AND PROGRAMMING
16.317: Microprocessor System Design I
ADDRESSING MODES.
16.317: Microprocessor System Design I
Microprocessor Systems Design I
Chapter 4 Data Movement Instructions
Microprocessor Systems Design I
Assembly IA-32.
ADDRESSING MODES.
University of Gujrat Department of Computer Science
Morgan Kaufmann Publishers Computer Organization and Assembly Language
Basic of Computer Organization
Symbolic Instruction and Addressing
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.
8086 MICROPROCESSOR PROGRAMMING – INTEGER INSTRUCTIONS AND COMPUTATIONS Amar Saraswat.
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
Symbolic Instruction and Addressing
(Array and Addressing Modes)
CS 301 Fall 2002 Computer Organization
The Microprocessor & Its Architecture
Symbolic Instruction and Addressing
(Array and Addressing Modes)
CNET 315 Microprocessor & Assembly Language
Lecture 06 Programming language.
Computer Architecture CST 250
EECE.3170 Microprocessor Systems Design I
EECE.3170 Microprocessor Systems Design I
Chapter 6 –Symbolic Instruction and Addressing
(Array and Addressing Modes)
Presentation transcript:

16.317 Microprocessor Systems Design I Instructor: Dr. Michael Geiger Fall 2013 Lecture 5: x86 memory examples

Microprocessors I: Lecture 5 Lecture outline Announcements/reminders HW 1 due 9/16 Sign up for the course discussion group on Piazza! Review: x86 memory Today’s lecture Assembly programming basics Data transfer instructions 6/8/2018 Microprocessors I: Lecture 5

Microprocessors I: Lecture 5 Review: x86 memory Six segment registers: CS (code), SS (stack), DS, ES, FS, GS (data) Each segment 64 KB, starts on 16B boundary Lowest hex digit of 20-bit address = 0 Logical address  SBA:EA Examples: DS:SI, SS:SP, CS:IP, DS:1000H Physical address: actual memory address Shift 16-bit segment register to left by 4 bits = SBA Add 16-bit EA to SBA Calculating EA Direct addressing: EA = const Register indirect: EA = reg Only BP/SP use SS; others use DS by default Based-indexed: EA = base reg. + index reg. Register relative: EA = reg. + const Base-relative-plus-index: EA = base reg. + index reg. + const. Scaled-index: EA = register + (scaling factor * second register) 6/8/2018 Microprocessors I: Lecture 5

Microprocessors I: Lecture 4 Example Compute the physical address for the specified operand in each of the following instructions. The register contents and variables are as follows: (CS) = 0A0016 (DS) = 0B0016 (ESI) = 0000010016 (EDI) = 0000020016 (EBX) = 0000030016   Destination operand in: MOV [DI], AX Source operand in: MOV DI, [SI] Destination operand in: MOV [BX+0400H], CX Destination operand in: MOV [DI+0400H], AH Destination operand in MOV [BX+DI+0400H], AL 6/8/2018 Microprocessors I: Lecture 4

Microprocessors I: Lecture 4 Example solutions Note: all memory operands in problem use data segment DS = 0B00H  segment base address (SBA) = 0B000H Linear address (LA) = SBA + effective address (EA) Destination operand in: MOV [DI], AX EA = value in DI = 0200H LA = 0B000H + 0200H = 0B200H Source operand in: MOV DI, [SI] EA = value in SI = 0100H LA = 0B000H + 0100H = 0B100H 6/8/2018 Microprocessors I: Lecture 4

Example solutions (cont.) Destination operand in: MOV [BX+0400H], CX EA = value in BX + 0400H = 0300H + 0400H = 0700H LA = 0B000H + 0700H = 0B700H Destination operand in: MOV [DI+0400H], AH EA = value in DI + 0400H = 0200H + 0400H = 0600H LA = 0B000H + 0600H = 0B600H Destination operand in MOV [BX+DI+0400H], AL EA = BX + DI + 0400H = 0300H + 0200H + 0400H = 0900H LA = 0B000H + 0900H = 0B900H 6/8/2018 Microprocessors I: Lecture 4

Microprocessors I: Lecture 5 Final notes Next time: Assembly programming basics Data transfer instructions Reminders: HW 1 due 9/16 Sign up for the discussion group on Piazza 6/8/2018 Microprocessors I: Lecture 5