Part of the Assembler Language Programmers Toolbox

Slides:



Advertisements
Similar presentations
CPU Structure and Function
Advertisements

Registers of the 8086/ /2002 JNM.
Computer Organization and Architecture
Introduction to 8086 Microprocessor
Computer Organization and Architecture
Computer Organization and Architecture
1 ICS 51 Introductory Computer Organization Fall 2006 updated: Oct. 2, 2006.
Assembly Language for Intel-Based Computers Chapter 2: IA-32 Processor Architecture Kip Irvine.
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.
Gursharan Singh Tatla Block Diagram of Intel 8086 Gursharan Singh Tatla 19-Apr-17.
Unit-1 PREPARED BY: PROF. HARISH I RATHOD COMPUTER ENGINEERING DEPARTMENT GUJARAT POWER ENGINEERING & RESEARCH INSTITUTE Advance Processor.
Riyadh Philanthropic Society For Science Prince Sultan College For Woman Dept. of Computer & Information Sciences CS 251 Introduction to Computer Organization.
The 8086 Microprocessor The 8086, announced in 1978, was the first 16-bit microprocessor introduced by Intel Corporation 8086 is 16-bit MPU. Externally.
CEG 320/520: Computer Organization and Assembly Language ProgrammingIntel Assembly 1 Intel IA-32 vs Motorola
An Introduction to 8086 Microprocessor.
1 Fundamental of Computer Suthida Chaichomchuen : SCC
MOHD. YAMANI IDRIS/ NOORZAILY MOHAMED NOOR1 Addressing Mode.
COMPUTER ORGANIZATION AND ASSEMBLY LANGUAGE Lecture 21 & 22 Processor Organization Register Organization Course Instructor: Engr. Aisha Danish.
Processor Structure and Function Chapter8:. CPU Structure  CPU must:  Fetch instructions –Read instruction from memory  Interpret instructions –Instruction.
MODULE 5 INTEL TODAY WE ARE GOING TO DISCUSS ABOUT, FEATURES OF 8086 LOGICAL PIN DIAGRAM INTERNAL ARCHITECTURE REGISTERS AND FLAGS OPERATING MODES.
Internal Programming Architecture or Model
1 x86 Programming Model Microprocessor Computer Architectures Lab Components of any Computer System Control – logic that controls fetching/execution of.
ΜComputer Structure μProcessor Memory Bus System I/O Ports.
Chapter 12 Processor Structure and Function. Central Processing Unit CPU architecture, Register organization, Instruction formats and addressing modes(Intel.
Chapter Overview General Concepts IA-32 Processor Architecture
8085 Microprocessor Architecture
BLOCK DIAGRAM OF INTEL 8085.
How objects are located in memory
Format of Assembly language
An Introduction to 8086 Microprocessor.
UNIT Architecture M.Brindha AP/EIE
Introduction to 8086 Microprocessor
Introduction to microprocessor (Continued) Unit 1 Lecture 2
8086 Microprocessor.
Computer Organization & Assembly Language Chapter 3
Introduction of microprocessor
Intel 8086 MICROPROCESSOR Architecture.
Basic Microprocessor Architecture
Microcomputer Programming
University of Gujrat Department of Computer Science
Intel 8088 (8086) Microprocessor Structure
Basic of Computer Organization
Microcomputer & Interfacing Lecture 1
Processor Organization and Architecture
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.
Number Representations and Basic Processor Architecture
CS170 Computer Organization and Architecture I
Intel 8088 (8086) Microprocessor Structure
8086 Registers Module M14.2 Sections 9.2, 10.1.
CS-401 Computer Architecture & Assembly Language Programming
CS 301 Fall 2002 Computer Organization
Chapter 8 Central Processing Unit
Processor Organization and Architecture
The Microprocessor & Its Architecture
Lecture 06 Programming language.
Computer Architecture
Computer Architecture CST 250
Unit-I 80386DX Architecture
Computer System Overview
Process.
CPU Structure and Function
Intel 8086.
Chapter 11 Processor Structure and function
Chapter 8: Instruction Set 8086 CPU Architecture
Part I Data Representation and 8086 Microprocessors
Presentation transcript:

Part of the Assembler Language Programmers Toolbox Register types Part of the Assembler Language Programmers Toolbox Copyright © 2005- 2007 - Curt Hill

Copyright © 2005- 2007 - Curt Hill Registers Definition: A group of bits of storage in the CPU Two kinds Special purpose General purpose The special purpose are fading in popularity as the hardware designers get more sophisticated What is actually happening is that a general purpose register is a front for several special purpose registers Copyright © 2005- 2007 - Curt Hill

Copyright © 2005- 2007 - Curt Hill The location Somewhat insignificant They may be logically in CU or ALU Often accessible by both Sometimes a communication mechanism between the two Copyright © 2005- 2007 - Curt Hill

Copyright © 2005- 2007 - Curt Hill Instruction register A location where the instruction is stored for decoding The results determine the rest of the execution of the instruction This one we can usually disregard at this level because it is not programmer accessible on any machine that I am aware of Copyright © 2005- 2007 - Curt Hill

Copyright © 2005- 2007 - Curt Hill Program counter Address of the next instruction A branch is essentially a load of the the program counter The value in the PC is incremented by the size of the instruction (which may be variable) AKA instruction pointer Copyright © 2005- 2007 - Curt Hill

Copyright © 2005- 2007 - Curt Hill Status register Has bits that indicate the operation of the program One or two bits indicate the result of a comparison or arithmetic: Greater or positive Zero or equal Less or negative Overflow Carry out Parity Whether the CPU is in supervisor mode or not Protection key of memory Copyright © 2005- 2007 - Curt Hill

Copyright © 2005- 2007 - Curt Hill Example PSW of IBM 370 This combined the PC and Status flags Two full words 64 bits Channel mask 0-6 External mask 7 Masks 12-15 14 wait 13 machine check 12 Basic control (360 mode) Interruptions code 16-31 Instruct Length Code 32-33 Condition code (34-35) Program mask (36-39) Instruction address (40-63) It had a different interpretation in Extended Control Mode than Basic Copyright © 2005- 2007 - Curt Hill

Copyright © 2005- 2007 - Curt Hill Accumulator The site of arithmetic and logical instructions AKA a DATA register Usually a relatively primitive register in less developed CPUs Copyright © 2005- 2007 - Curt Hill

Copyright © 2005- 2007 - Curt Hill Address register Used to access data or instructions in the program Some examples: Base registers Segment registers Index registers The full discussion of address registers will have to wait for our discussion of addressing modes Copyright © 2005- 2007 - Curt Hill

Copyright © 2005- 2007 - Curt Hill Base register A register specified in an instruction Generally added to an offset that is also in the instruction The contents of the register and offset are summed to provide an effective address The number of bits of offset determine the block addressed by the register System 360 had 12 bits Each block was 4K Copyright © 2005- 2007 - Curt Hill

Copyright © 2005- 2007 - Curt Hill Segment register Used when memory is physically or logically divided into segments Each segment is usually a power of two long The 86 code register addressed 64K A real address then becomes the contents of the register plus some offset built into the instruction This may also include a base or index register Copyright © 2005- 2007 - Curt Hill

Copyright © 2005- 2007 - Curt Hill Index register Usually a base register addresses a block of variables An index register usually hold a pre-multiplied array subscript It is usually used in addition to an offset and base or segment register Thus a memory reference may include the sum of three registers and an offset Copyright © 2005- 2007 - Curt Hill

Copyright © 2005- 2007 - Curt Hill Stack pointer Special type that allows pushes and pops without much regard to length Often allows a displacement to be added for indirection Copyright © 2005- 2007 - Curt Hill

General Purpose Registers General registers are able to do multiple things Accumulator or Data Base or index Copyright © 2005- 2007 - Curt Hill

Copyright © 2005- 2007 - Curt Hill Floating point Floating point registers are usually separate from the integer portions The integer registers are used for almost every instruction By comparison floating point is much less frequently used Many computers had no floating point at all or it was optional Copyright © 2005- 2007 - Curt Hill

Copyright © 2005- 2007 - Curt Hill IBM 360 – Model 30 and above 16 general purpose registers Each is 32 bits All are general purpose with a few exceptions: R0 always supplies a zero when used as an index register Some instructions like the Multiply require a even odd pair of registers There is also the before mentioned PSW, which is not really user accessible Copyright © 2005- 2007 - Curt Hill

Copyright © 2005- 2007 - Curt Hill Intel 8086 General registers: AX BX CX DX Pointer and index Stack SP Base BP Source Index SI Destination DI Segment Code Data Stack Extra Copyright © 2005- 2007 - Curt Hill

Copyright © 2005- 2007 - Curt Hill Intel 80386 When they went 32 bit they had to double the register size Therefore they have EAX which is the entire 32 and AX which is the lower 16 for compatibility with old 86 Copyright © 2005- 2007 - Curt Hill

Copyright © 2005- 2007 - Curt Hill Motorola 68000 8 data registers 8 address registers The last of which is stack pointer Two versions of this: one for system and one for user Status register Status and program counter Copyright © 2005- 2007 - Curt Hill