Computer Organization & Assembly Language University of Sargodha, Lahore Campus Prepared by Ali Saeed.

Slides:



Advertisements
Similar presentations
Intel 8086.
Advertisements

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.
Registers of the 8086/ /2002 JNM.
MICROPROCESSORS TWO TYPES OF MODELS ARE USED :  PROGRAMMER’S MODEL :- THIS MODEL SHOWS FEATURES, SUCH AS INTERNAL REGISTERS, ADDRESS,DATA & CONTROL BUSES.
Introduction to 8086 Microprocessor
CEN 226: Computer Organization & Assembly Language :CSC 225 (Lec#3) By Dr. Syed Noman.
Princess Sumaya Univ. Computer Engineering Dept. د. بســام كحـالــه Dr. Bassam Kahhaleh.
Intel MP.
Azir ALIU 1 What is an assembly language?. Azir ALIU 2 Inside the CPU.
Princess Sumaya University
1 Hardware and Software Architecture Chapter 2 n The Intel Processor Architecture n History of PC Memory Usage (Real Mode)
CHAPTER 5 INTRODUCTION TO ASSEMBLY LANGUAGE 5.1 Introduction 5.2 The Computer Organization - Intel PC 5.3 Instruction Format 5.4 Addressing Mode 5.5 DEBUG.
© 2006 Pearson Education, Upper Saddle River, NJ All Rights Reserved.Brey: The Intel Microprocessors, 7e Chapter 2 The Microprocessor and its Architecture.
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.
80x86 Processor Architecture
© 2006 Pearson Education, Upper Saddle River, NJ All Rights Reserved.Brey: The Intel Microprocessors, 7e Chapter 2 The Microprocessor and its Architecture.
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.
An Introduction to 8086 Microprocessor.
1 Fundamental of Computer Suthida Chaichomchuen : SCC
Types of Registers (8086 Microprocessor Based)
INSTRUCTION SET AND ASSEMBLY LANGUAGE PROGRAMMING
SYSC30061 The Intel 80x86 Thorne : Section , 2.2.4, Section 3.4 (Irvine, Edition IV : Section 2.2)
UHD:CS2401: A. Berrached1 The Intel x86 Hardware Organization.
Microprocessor Microprocessor (cont..) It is a 16 bit μp has a 20 bit address bus can access upto 220 memory locations ( 1 MB). It can support.
ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ Τμήμα Ηλεκτρολογών Μηχανικών και Τεχνολογίας Υπολογιστών Μικρουπολογιστές & Μικροσυστήματα ΙΙ Καθηγητής Σταύρος Α. Κουμπιάς Πανεπιστημίου.
(-133)*33+44* *33+44*14 Input device memory calculator Output device controller Control bus data bus memory.
Chapter 2 Parts of a Computer System. 2.1 PC Hardware: Memory.
Intel 8086 (8088) Microprocessor Structure
X86 Assembly Language We will be using the nasm assembler (other assemblers: MASM, as, gas)
INTRODUCTION TO INTEL X-86 FAMILY
University of Sargodha, Lahore Campus Prepared by Ali Saeed.
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.
Week 6 Dr. Muhammad Ayaz Intro. to Assembly Language.
BITS Pilani Pilani Campus Pawan Sharma Lecture / ES C263 INSTR/CS/EEE F241 Microprocessor Programming and Interfacing.
Microprocessors CSE- 341 Dr. Jia Uddin Assistant Professor, CSE, BRAC University Dr. Jia Uddin, CSE, BRAC University.
I NTEL 8086 M icroprocessor بسم الله الرحمن الرحيم 1.
Microprocessors CSE- 341 Dr. Jia Uddin Assistant Professor, CSE, BRAC University Dr. Jia Uddin, CSE, BRAC University.
ΜComputer Structure μProcessor Memory Bus System I/O Ports.
An Introduction to 8086 Microprocessor.
History – 2 Intel 8086.
UNIT Architecture M.Brindha AP/EIE
Introduction to 8086 Microprocessor
8086 Microprocessor.
Computer Organization & Assembly Language Chapter 3
ADDRESSING MODES.
ADDRESSING MODES.
University of Gujrat Department of Computer Science
Intel 8088 (8086) Microprocessor Structure
1st micro 1971 calculator 2300 transistors 4-bit microprocessor
Symbolic Instruction and Addressing
Introduction to Assembly Language
Intel 8088 (8086) Microprocessor Structure
8086 Registers Module M14.2 Sections 9.2, 10.1.
Morgan Kaufmann Publishers Computer Organization and Assembly Language
Symbolic Instruction and Addressing
CS 301 Fall 2002 Computer Organization
The Microprocessor & Its Architecture
Symbolic Instruction and Addressing
CNET 315 Microprocessor & Assembly Language
Assembly Language (CSW 353)
Computer Architecture CST 250
Unit-I 80386DX Architecture
Chapter 6 –Symbolic Instruction and Addressing
Process.
Intel 8086.
Chapter 8: Instruction Set 8086 CPU Architecture
Part I Data Representation and 8086 Microprocessors
Presentation transcript:

Computer Organization & Assembly Language University of Sargodha, Lahore Campus Prepared by Ali Saeed

MASM stands for Microsoft Macro Assembler The Microsoft Macro Assembler is an x86 assembler that uses the Intel syntax for MS- DOS and Microsoft Windows What is MASM

First Set the Environment Variable How to use MASM

Edit Command is use to enter in Assembly Editor MASM prog1.asm to Compile Link prog1 Prog1; to run How to use MASM

8086 was introduced in 1978 It had 16 bit processor 8088 was introduced in has 8 bit data bus 8086 has faster clock rate, thus batter performance 8088 is less expensive 8086 and 8088 Microprocessor

80186 and are enhanced versions of 8086 and 8088 respectively These has new instruction set called extended instruction set But, these did not had significant advantages over 8086 and 8088 Soon it was replaced by and Microprocessor

It was introduced in 1982 It was also 16 bit processor It was faster then 8086 (12.5 MHz Vs 10MHz) It has two number of operation modes – Real Addressing Mode – Protected virtual Addressing Mode Microprocessor

In Real Addressing mode this will behaves like 8086 Program for 8086 can be executed in this mode without modifications In protected mode support multitasking, ability to execute several tasks at a time Memory protection in protected mode memory use by one program can’t be use by others Microprocessor

It was 32 bit microprocessor or 386 was introduced in 1985 It was much faster than having 33 MHz Processor It has three modes – Real Addressing Mode – Protected virtual Addressing Mode – Virtual 8086 mode (run multiple 8086 application under memory protection mode) 386XS has same internal structure as 386, but has 16 bit bus and 80386SX Microprocessor

Registers are small memory area inside the CPU. Registers have fastest speed then other memory devices i.e. RAM, Hard Disk etc… Registers are available of different size – 8 bit – 16 bit – 32 bit What is Register

8086 Register

Organization of Registers in x86

Intel 8086 had 14 registers 4 registers are general purpose registers (AX, BX, CX, DX) 4 Registers are known as Segment Registers 4 registers are Index/ Pointer Register (SP, BP, SI, DI) 2 are special purpose registers IP and Flag, user cant move directly data in it Registers

AX - the accumulator register (divided into AH / AL). BX - the base address register (divided into BH / BL). CX - the count register (divided into CH / CL). DX - the data register (divided into DH / DL). SI - source index register. DI - destination index register. BP - base pointer. SP - stack pointer. Registers

Segment Register is a way to access more then 2 16 (65536) (64 K) memory. Each segment is identified by a number called segment number. (Segment 1, Segmen2, Segment 3…) Address bit was 20 bit, it use 2 registers Segment Registers

CS - points at the segment containing the current program. DS - generally points at segment where variables are defined. ES - extra segment register, it's up to a coder to define its usage. SS - points at the segment containing the stack. Segment Registers

Although it is possible to store any data in the segment registers This is never a good idea. The segment registers have a very special purpose - pointing at accessible blocks of memory. Segment registers work together with general purpose register to access any memory value. Segment Registers

For example if we would like to access memory at the physical address 12345h (hexadecimal), we should set the DS = 1230h and SI = 0045h. This is good, since this way we can access much more memory than with a single register that is limited to 16 bit values. Segment Registers

CPU makes a calculation of physical address by multiplying the segment register by 10h and adding general purpose register to it Physical Address= Segment * 10H + Offset (1230h * 10h + 45h = 12345h): Segment Registers

The address formed with 2 registers is called an effective address. By default BX, SI and DI registers work with DS segment register; BP and SP work with SS segment register. Other general purpose registers cannot form an effective address! Also, although BX can form an effective address, BH and BL cannot! Segment Registers

SP – Stack Pointer, it is use to conjunction with SS to access the stack segment BP – Base Pointer, it is used primarily to access data on stack, but unlike SP we can use BP to access data in other segment SI – Source Index, it is used to point memory location in data segment address by DS. By adding SI we can easily access consecutive memory locations DI – Destination Index, it work like SI, It work with string operations, and access memory with ES Pointer and Index Register

All register come above is for data register. To access instructions 8086 use registers CS and IP. CS contain the segment number of next instruction IP contain offset of next instruction IP is updated every time as each instruction is executed IP can not be manipulated by an instruction An instruction may not contain IP as operand Instruction Pointer (IP)

Thanks