Microprocessors (A) DOS Services

Size: px
Start display at page:

Download "Microprocessors (A) DOS Services"

Transcription

1 1 Services

2 2 System Calls Operating System services: Disk and file system management Screen display and printing Keyboard entry Other I/O management Date and time Program run and terminate Command arguments

3 3 Calling System Functions Operating System calls: AH function code (identifies particular system call) Other parameters may be required in various registers Instruction INT 21 calls the function handler

4 4 Create File 1 Entry parameters: Function (AH): 3Ch DS:DX Address of zero terminated pathname CX File attribute The low order six bits of CX contain the following values: bit 0 File is a Read-Only file bit 1 File is a hidden file bit 2 File is a system file bit 3 File is a volume label name bit 4 File is a subdirectory bit 5 File has been archived 0100 JMP DB 'filename.txt' MOV DX, MOV CX, MOV AH,3C 011A INT 21

5 5 Exit parameters: Create File 2 If carry is set (CF=1), AX contains one of the following error codes: 3 Path not found 4 Too many open files 5 Access denied If the carry is clear (CF=0), AX contains the file handle value assigned by. Since this call creates a new file, opens the file for writing only.

6 6 Entry parameters: Function (AH): 3Dh AL file access value Open File 1 0 File opened for reading 1 File opened for writing 2 File opened for reading and writing DS:DX Point at a zero terminated string containing the filename.

7 7 Open File 2 Exit parameters: If carry is set (CF=1), AX contains one of the following error codes: 2 File not found 4 Too many open files 5 Access denied 12 Invalid access If the carry is clear (CF=0), AX contains the file handle value assigned by.

8 8 Close File Entry parameters: BX File Handle Function (AH): 3Eh Exit parameters: If carry flag is set, AX contains 6, the only possible error, an invalid handle error.

9 9 Read From a File Entry parameters Function (AH): 3Fh BX File handle CX Number of bytes to read DS:DX location of an array large enough to hold bytes read Exit parameters If carry is set, AX contains one of the following error codes 5 Access denied 6 Invalid handle If the carry flag is clear, AX contains the number of bytes read from the file Unless end of file (EOF) was reached, AX = CX If end of file was reached, AX < CX register This is the only test for the EOF condition

10 10 Write to a File Entry parameters Function (AH): 40h BX File handle CX Number of bytes to write DS:DX Address of buffer containing data to write Exit parameters If carry is set, AX contains one of the following error codes 5 Accessed denied 6 Invalid handle If carry is clear on return AX contains the number of bytes written to the file If AX < CX the disk is full and this should be treated as an error.

11 11 Function 42h File Read/Write Pointer (LSEEK) entry AH 42h AL method code 00h offset from beginning of file 01h offset from present location 02h offset from end of file BX file handle CX most significant half of offset DX least significant half of offset return AX low offset of new file pointer DX high offset of new file pointer CF 0 successful move CF 1 error and AX error code (1, 6) note 1) If pointer is at end of file, reflects file size in bytes. 2) The value in DX:AX is the absolute 32 bit byte offset from the beginning

12 12 Function 4Ch Terminate a Process (EXIT) Quit with ERRORLEVEL exit code entry AH 4Ch AL exit code in AL when called, if any, is passed to next process return none note 1) Control passes to or calling program 2) return code from AL can be retrieved by ERRORLEVEL or function 4Dh 3) all files opened by this process are closed, buffers are flushed, and 4) the disk directory is updated 5) Restores Terminate vector from PSP:000Ah 6) Ctrl-C vector from PSP:000Eh 7) Critical Error vector from PSP:0012h

13 13 INT 20h Terminate Program Ends program, updates, FAT, flushes buffers, restores registers Old program termination method not recommended by Microsoft 1) Program must place the segment address of the PSP control block in CS before calling this function. 2) All file buffers are flushed and the handles opened by the process are closed. 3) Any files that have changed in length and are not closed are not recorded properly in the directory. 4) All memory used by the program is returned to.

14 14 Function 01h Get Keyboard Input Waits for char at STDIN (if necessary), echoes to STDOUT entry AH 01h return AL ASCII character from STDIN (8 bits) note 1) Checks char for Ctrl-C, if char is Ctrl-C, executes INT 23h. 2) For function call 06h, extended ASCII codes require two function calls. 3) The first call returns 00h as an indicator that the next call will be an extended ASCII code. 4) Input and output are re-directable. If redirected, there is no way to detect EOF.

15 15 Function 02h Display Output Outputs char in DL to STDOUT entry AH 02h DL 8 bit data (usually ASCII character) return none note 1) If char is 08 (backspace) the cursor is moved 1 char to the left (nondestructive backspace). 2) If Ctrl-C is detected after input, INT 23h is executed. 3) Input and output are re-directable. If redirected, there is no way to detect disk full.

16 16 Program Structure

17 17 Loading/Running Programs Basic requirements Stack, Data, and Code contents must be in memory SS:SP must point to the top of the Stack DS must point to the default Data Segment CS:IP must point to first instruction in code Simple programs never change SS, DS, or CS Some modular programs use Far calls/jumps for function calls (multiple CS values) Global/local data segments (multiple DS values) Global/local stack segments (multiple SS values)

18 18 Assembly Language Program Files Program file The data, stack, and code part of the program is called the Load Module The information for the operating system is called the program Header Loading and Running OS copies the Load Module into memory OS initializes registers and adjusts stored pointers using Header information OS points CS:IP at the program location

19 19 Program File Types.com file = Load Module Very simple programs Use one only segment CS=DS=SS=ES Do not need a program Header Must start at IP=0100.exe file = Header + Load Module Supports multiple segments and far branches Header contains initial CS:IP, SS:SP, DS Header contains other OS parameters

20 20 Program Segment Prefix (PSP) Created dynamically by when a program is loaded PSP contains program information for use by Location of environment variables Command arguments Other information places PSP into memory just below Load Module PSP length is 256 bytes = 100h bytes For.com program PSP occupies 0000 to 00FF in the single segment Default start IP is in next address (IP=0100)

21 21.COM Programs Program fits into 1 segment: DS=CS=SS=ES Disk file is absolute image of machine code No file header No address adjustments More compact and faster than.exe files does not test.com file for executable code No addresses to adjust loads file after PSP and runs at IP = 0100 Location 0100h must contain an executable instruction Maximum length of.com program is 65,536 bytes - PSP length - mandatory stack word When.COM program runs all segment registers point to PSP

22 22 Structure of a.com Program Store code code Increasing Addresses data and stack code load module load module data and stack code PSP JMP NEAR DS:EA SS:SP start segment = CS:0100 File on Disk File in RAM DS=CS=SS=ES = start segment - 10 Load Module = Code, Program Data, Stack, stored on disk All addresses are relative to the fixed CS=DS=SS=ES Default IP = 0100 Load

23 23 The Program Segment Prefix Offset Size Contents 0000h 2 bytes int 20h (old style program terminate command) 0005h 5 bytes FAR call to MS function dispatcher (int 21h) 000Ah 4 bytes Previous termination handler interrupt vector (int 22h) 000Eh 4 bytes Previous contents of ctrl-c interrupt vector (int 23h) 0012h 4 bytes Previous critical error handler interrupt vector (int 24h) 002Ch 2 bytes Segment address of the program's environment block 0080h 1 byte Parameter length (number of chars entered after filename) and default Disk Transfer Area (DTA) 0081h 127 bytes Parameters command tail

24 24.EXE Program Loading loader checks for program header reads program Header into its work space Start Segment determines a starting address just above the kernel The starting address is a multiple of 10h and is called the Start Segment copies the load module beginning at the Start Segment Program Segment Prefix (PSP) is built just below the Start Segment

25 25 Structure of a.exe Program Store SS SS Increasing Addresses CS stored portion of DS header load module load module CS stored portion of DS PSP data segment SS = start segment + ISS CS = start segment + ICS start segment DS = start segment - 10 File on Disk File in RAM Load Load Module = Program data, stack, code stored on disk ISS = Initial Stack Segment = Offset of SS from start of load module ICS = Initial Code Segment = Offset of CS from start of load module

26 26.EXE Program Relocation 1 SP is set to value from header file IP is set to value from header file Relative addresses converted to absolute addresses: ES and DS registers pointed at PSP Add Start Segment to ISS put result into SS Add Start Segment to ICS put result into CS

27 27.EXE Program Relocation 2 Far Code Module 5678 bytes CS:IP=0234:5678 CS= =2545 Far Code Module Stack Stack Load Module Default Code JMP FAR [1000] Segment Default Data Segment Header File CS= IP= LOAD bytes Start= bytes Default Code Segment Default Data Segment +PSP RAM In.exe file, FAR segment references are relative to the load module. Relocation: After loading the program, Relocation Items (relative FAR references) are made absolute (SEG SEG + start segment)

28 28.EXE Program Header 1 Offset Contents 00h - 01h 4D 5A h This is the Linker's signature to mark the file as a valid.exe file. (The ASCII letters M and Z, for Mark Zbikowski, one of the major designers of at Microsoft) 02h - 03h Length of the image mod h - 05h Size of the file in 512 byte pages (including remainder) including the header. 06h - 07h Number of relocation table items following the header. 08h - 09h Size of the header (including relocation table) in 16 byte increments (paragraphs). 0Ah - 0Bh Minimum number of 16 byte paragraphs required by the program beyond the end of the loaded program (uninitiated data space). 0Ch - 0Dh Maximum number of 16 byte paragraphs required above the end of the loaded program. If the minimum and maximum number of paragraphs are both zero, the program will be loaded as high in memory as possible.

29 29.EXE Program Header 2 0Eh - 0Fh 10h - 11h 12h - 13h 14h - 15h 16h - 17h 18h - 19h 1Ah - 1Bh Displacement in paragraphs of stack segment within load module. This size must be adjusted by relocation. (ISS) Offset that must be in SP register when the load module is given control. (Starting SP) Word Checksum - negative sum of all the words in the file, ignoring overflow. Offset that must be in the IP register when the load module is given control. (Starting IP) Displacement in paragraphs of code segment within load module. This size must be adjusted by relocation. (ICS) Displacement in bytes of the first relocation item in the file. Overlay number (0 for the main resident part of the program)

30 30 Example of Program Header Top of Header (setver.exe) D 5A EF B 00 FF FF D9 02 *MZ......* B 29 4A 0D E B 0D *..{)J...* D D DF 0D A 09 *...U...j.* *...* Offset Value Contents 00h - 01h 4D 5A 4D 5A h 02h - 03h EF 00 Length of the image mod 512 = 00EFh 04h - 05h Size of the file in 512 byte pages (including remainder) including the header = 0018h ( EF = 12, bytes) 06h - 07h Number of relocation table items following the header = h - 09h Size of the header (including relo table) in 16 byte increments (paragraphs) = Ah - 0Bh 8B 00 Minimum number of 16 byte paragraphs required by the program = 008B 0Ch - 0Dh FF FF Maximum number of 16 byte paragraphs required 0Eh - 0Fh D9 02 Displacement in paragraphs of stack segment within load module. ISS= 02D9 10h - 11h Offset that must be in SP register when load module is given control SP = h - 13h 7B 29 Word Checksum - negative sum of all the words in the file, ignoring overflow. 14h - 15h 4A 0D Offset that must be in the IP register when load module is given control IP = 0D4A 16h - 17h Displacement in paragraphs of code segment within load module. ICS = h - 19h 1E 00 Displacement in bytes of the first relocation item in the file = 001E 1Ah - 1Bh Overlay number (0 for the main resident part of the program)

31 31 Example of Program Header Relocation Program loaded at Start Segment = 22CA ICS = 0089 ISS = 02D9 DS = 22CA = 22BA PSP in DS:0000 to DS:00FF CS = 22CA + ICS = 2353 SP = 0800 SS = 22CA + ISS = 25A3 IP = 0D4A Relocation table at 001Eh into header (18h-19h) Item Offset = SEG 10+OFF Location of word in EXE file = load module offset + Item Offset = Item Offset Location of word in RAM = Start Segment + Item Offset = 22CA + Item Offset Relocation Item 1B 0D Seg:Off 0089:0D1B D1B = 15AB Item Offset In File Word Relocation 15AB 17AB CA = 24DC D :08D6 2A36 2C CA = 24DC

32 32 Program Execution Control turned over to program at CS:IP Program finishes Program returns control to : 1. Int 21 Function 4C (Microsoft supported) 2. Int 21 Function 00 (obsolete) 3. Return instruction at end of code (obsolete) 1. CS pointed at PSP 2. Program executes Return instruction 3. IP 0000 popped from top of stack 4. PSP:0000 contains Int 20 (works like Int 21 Function 00)

33 33 Function 0Eh Select Disk Sets the drive specified in DL (if valid) as the default drive entry AL 0Eh DL new default drive number (0=A:,1=B:,2=C:,etc.) return AL total number of logical drives (not necessarily physical)

34 34 Function 19h Get Current Disk Drive Return designation of current default disk drive entry AH 19h return AL current default drive (0=A, 1=B,etc.) note Some other functions use 0 for default, 1=A, 2=B, etc.

35 35 Function 1Ah Set Disk Transfer Area (DTA) Sets DTA address to the address specified in DS:DX entry AH 1Ah DS:DX pointer to buffer return none note 1) The default DTA is 128 bytes at offset 80h in the PSP. uses the DTA for all file I/O. 2) Registers are unchanged. 3) No error codes are returned. 4) Disk transfers cannot wrap around from the end of the segment to the beginning or overflow into another segment.

36 36 Function 2Ah Get Date Returns day of the week, year, month, and date entry AH 2Ah return CX year ( ) DH month (1-12) DL day (1-31) AL weekday 00h Sunday 01h Monday 02h Tuesday 03h Wednesday 04h Thursday 05h Friday 06h Saturday note 1) Date is adjusted automatically if clock rolls over to the next day, and takes leap years and number of days in each month into account. 2) Although cannot set an invalid date, it can read one, such as 1/32/80, etc. 3) will accept CH=0 (midnight) as a valid time, but if a file's time is set to exactly midnight the time will not be displayed by the DIR command.

37 37 Function 2Ch Get Time Get current system time from CLOCK$ driver entry AH 2Ch return CH hours (0-23) CL minutes (0-59) DH seconds (0-59) DL hundredths of a second (0-99) note 1) Time is updated every 5/100 second. 2) The date and time are in binary format

38 38 Function 09h Print String Outputs Characters in the Print String to the STDOUT entry AH 09h DS:DX pointer to the Character String to be displayed return none note 1) The character string in memory must be terminated by a $ (24h) 2) The $ is not displayed. 3) Output to STDOUT is the same as function call 02h.

Ρουτίνες Λειτουργίας (DOS function calls)

Ρουτίνες Λειτουργίας (DOS function calls) Ρουτίνες Λειτουργίας (DOS function calls) Παρακάτω ακολουθεί µία λίστα αυτών των AH κωδικών µε τα ονόµατα της ρουτίνας λειτουργίας (DOS function calls). 00H 01H 02H 03H 04H 05H 06H 07H 08H 09H TERMINATE

More information

SPRING TERM BM 310E MICROPROCESSORS LABORATORY PRELIMINARY STUDY

SPRING TERM BM 310E MICROPROCESSORS LABORATORY PRELIMINARY STUDY BACKGROUND Interrupts The INT instruction is the instruction which does the most work in any assembler program. What it does is it calls a DOS interrupt (like a function) to perform a special task. When

More information

DOS INT 21h - DOS Function Codes

DOS INT 21h - DOS Function Codes Back To Home DOS INT 21h - DOS Function Codes The follow abridged list of DOS interrupts has been extracted from a large list compiled by Ralf Brown. These are available on any Simtel mirror (e.g. sunsite.anu.edu.au)

More information

Programming in Module. Near Call

Programming in Module. Near Call Programming in Module Main: sub1: call sub1 sub ax,ax sub1 sub1 proc near sub ax,ax endp sub1 sub1 proc Far sub ax,ax endp Near Call sub1 sub1 Main: call sub1 sub1: sub ax,ax proc near sub ax,ax endp SP

More information

Summer 2003 Lecture 26 07/24/03

Summer 2003 Lecture 26 07/24/03 Summer 2003 Lecture 26 07/24/03 Organization of Data on the Disk The logical organization of the FAT file system on a disk is made up of the following elements. BOOT Sector Root Directory Structure File

More information

CP/M-86 Compatibility Guide For CP/M-80 Users

CP/M-86 Compatibility Guide For CP/M-80 Users CCGFCU.WS4 ---------- CP/M-86 Compatibility Guide For CP/M-80 Users (= CCGFCU...) Copyright (c) 1980 Digital Research Pacific Grove, California (Revision of 10/21/80) (= 21 October 1980) (Retyped by Emmanuel

More information

Intel 8086: Instruction Set

Intel 8086: Instruction Set IUST-EE (Chapter 6) Intel 8086: Instruction Set 1 Outline Instruction Set Data Transfer Instructions Arithmetic Instructions Bit Manipulation Instructions String Instructions Unconditional Transfer Instruction

More information

Code segment Stack segment

Code segment Stack segment Registers Most of the registers contain data/instruction offsets within 64 KB memory segment. There are four different 64 KB segments for instructions, stack, data and extra data. To specify where in 1

More information

SPRING TERM BM 310E MICROPROCESSORS LABORATORY PRELIMINARY STUDY

SPRING TERM BM 310E MICROPROCESSORS LABORATORY PRELIMINARY STUDY BACKGROUND 8086 CPU has 8 general purpose registers listed below: AX - the accumulator register (divided into AH / AL): 1. Generates shortest machine code 2. Arithmetic, logic and data transfer 3. One

More information

Intel 8086 MICROPROCESSOR. By Y V S Murthy

Intel 8086 MICROPROCESSOR. By Y V S Murthy Intel 8086 MICROPROCESSOR By Y V S Murthy 1 Features It is a 16-bit μp. 8086 has a 20 bit address bus can access up to 2 20 memory locations (1 MB). It can support up to 64K I/O ports. It provides 14,

More information

EXPERIMENT WRITE UP. LEARNING OBJECTIVES: 1. Get hands on experience with Assembly Language Programming 2. Write and debug programs in TASM/MASM

EXPERIMENT WRITE UP. LEARNING OBJECTIVES: 1. Get hands on experience with Assembly Language Programming 2. Write and debug programs in TASM/MASM EXPERIMENT WRITE UP AIM: Assembly language program for 16 bit BCD addition LEARNING OBJECTIVES: 1. Get hands on experience with Assembly Language Programming 2. Write and debug programs in TASM/MASM TOOLS/SOFTWARE

More information

Lecture 13: I/O I/O. Interrupts. How?

Lecture 13: I/O I/O. Interrupts. How? Lecture 13: I/O I/O Interrupts MS-DOS Function Calls Input,Output, File I/O Video Keyboard Getting data into your program: define it in the data area use immediate operands Very limiting Most programs

More information

MICROPROCESSOR PROGRAMMING AND SYSTEM DESIGN

MICROPROCESSOR PROGRAMMING AND SYSTEM DESIGN MICROPROCESSOR PROGRAMMING AND SYSTEM DESIGN ROAD MAP SDK-86 Intel 8086 Features 8086 Block Diagram 8086 Architecture Bus Interface Unit Execution Unit 8086 Architecture 8086 Programmer s Model Flag Register

More information

Assembling, Linking and Executing 1) Assembling: .obj obj .obj.lst .crf Assembler Types: a) One pass assembler:

Assembling, Linking and Executing 1) Assembling: .obj obj .obj.lst .crf Assembler Types: a) One pass assembler: Assembling, Linking and Executing 1) Assembling: - Assembling converts source program into object program if syntactically correct and generates an intermediate.obj file or module. - It calculates the

More information

9/25/ Software & Hardware Architecture

9/25/ Software & Hardware Architecture 8086 Software & Hardware Architecture 1 INTRODUCTION It is a multipurpose programmable clock drive register based integrated electronic device, that reads binary instructions from a storage device called

More information

Intel 8086 MICROPROCESSOR ARCHITECTURE

Intel 8086 MICROPROCESSOR ARCHITECTURE Intel 8086 MICROPROCESSOR ARCHITECTURE 1 Features It is a 16-bit μp. 8086 has a 20 bit address bus can access up to 2 20 memory locations (1 MB). It can support up to 64K I/O ports. It provides 14, 16

More information

SRI VENKATESWARA COLLEGE OF ENGINEERING AND TECHNOLOGY DEPARTMENT OF ECE EC6504 MICROPROCESSOR AND MICROCONTROLLER (REGULATION 2013)

SRI VENKATESWARA COLLEGE OF ENGINEERING AND TECHNOLOGY DEPARTMENT OF ECE EC6504 MICROPROCESSOR AND MICROCONTROLLER (REGULATION 2013) SRI VENKATESWARA COLLEGE OF ENGINEERING AND TECHNOLOGY DEPARTMENT OF ECE EC6504 MICROPROCESSOR AND MICROCONTROLLER (REGULATION 2013) UNIT I THE 8086 MICROPROCESSOR PART A (2 MARKS) 1. What are the functional

More information

Interrupt Services. Which Way is Best? Characteristics. Direct in, out. BIOS Average Average DOS Most Least

Interrupt Services. Which Way is Best? Characteristics. Direct in, out. BIOS Average Average DOS Most Least Interrupt Services Application Programs/OS Shell (command.com) int 10h, and others int 21h, and others (IO.SYS) DOS Services (msdos.sys) BIOS (EEPROM) Hardware (x86, Chipset and Peripherals) BIOS - Basic

More information

Experiment 3 3 Basic Input Output

Experiment 3 3 Basic Input Output Experiment 3 3 Basic Input Output Introduction The aim of this experiment is to introduce the use of input/output through the DOS interrupt. Objectives: INT Instruction Keyboard access using DOS function

More information

Microcomputer Architecture..Second Year (Sem.2).Lecture(2) مدرس المادة : م. سندس العزاوي... قسم / الحاسبات

Microcomputer Architecture..Second Year (Sem.2).Lecture(2) مدرس المادة : م. سندس العزاوي... قسم / الحاسبات 1) Input/output In computing, input/output or I/O, is the communication between an information processing system (such as a computer) and the outside world, possibly a human or another information processing

More information

Assembly Language for Intel-Based Computers, 4 th Edition. Chapter 13: 16-Bit MS-DOS Programming

Assembly Language for Intel-Based Computers, 4 th Edition. Chapter 13: 16-Bit MS-DOS Programming Assembly Language for Intel-Based Computers, 4 th Edition Kip R. Irvine Chapter 13: 16-Bit MS-DOS Programming (c) Pearson Education, 2002. All rights reserved. Chapter Overview MS-DOS and the IBM-PC MS-DOS

More information

EC-333 Microprocessor and Interfacing Techniques

EC-333 Microprocessor and Interfacing Techniques EC-333 Microprocessor and Interfacing Techniques Lecture 3 The Microprocessor and its Architecture Dr Hashim Ali Fall - 2018 Department of Computer Science and Engineering HITEC University Taxila Slides

More information

Programming in Assembler. Laboratory manual. Exercise 3

Programming in Assembler. Laboratory manual. Exercise 3 Zakład Mikroinformatyki i Teorii Automatów Cyfrowych Programming in Assembler Laboratory manual Exercise 3 Simple MS-DOS program assembling and debugging 2008,2011 Krzysztof Tokarz, Piotr Czekalski (edt.)

More information

x86 Assembly Tutorial COS 318: Fall 2017

x86 Assembly Tutorial COS 318: Fall 2017 x86 Assembly Tutorial COS 318: Fall 2017 Project 1 Schedule Design Review: Monday 9/25 Sign up for 10-min slot from 3:00pm to 7:00pm Complete set up and answer posted questions (Official) Precept: Monday

More information

CC411: Introduction To Microprocessors

CC411: Introduction To Microprocessors CC411: Introduction To Microprocessors OBJECTIVES this chapter enables the student to: Describe the Intel family of microprocessors from 8085 to Pentium. In terms of bus size, physical memory & special

More information

Virus.Dos.Honey.666 Report

Virus.Dos.Honey.666 Report Virus.Dos.Honey.666 Report Feng Zhu (fzhu001@fiu.edu), Jinpeng Wei (weijp@cs.fiu.edu) 1 Malware General Information Malware Name: Virus.Dos.Honey.666 named by Kaspersky File size: 1698 bytes File type:

More information

EEM336 Microprocessors I. Data Movement Instructions

EEM336 Microprocessors I. Data Movement Instructions EEM336 Microprocessors I Data Movement Instructions Introduction This chapter concentrates on common data movement instructions. 2 Chapter Objectives Upon completion of this chapter, you will be able to:

More information

Experiment 8 8 Subroutine Handling Instructions and Macros

Experiment 8 8 Subroutine Handling Instructions and Macros Introduction Experiment 8 8 Subroutine Handling Instructions and Macros In this experiment you will be introduced to subroutines and how to call them. You will verify the exchange of data between a main

More information

Hardware and Software Architecture. Chapter 2

Hardware and Software Architecture. Chapter 2 Hardware and Software Architecture Chapter 2 1 Basic Components The x86 processor communicates with main memory and I/O devices via buses Data bus for transferring data Address bus for the address of a

More information

Computer Architecture and System Software Lecture 07: Assembly Language Programming

Computer Architecture and System Software Lecture 07: Assembly Language Programming Computer Architecture and System Software Lecture 07: Assembly Language Programming Instructor: Rob Bergen Applied Computer Science University of Winnipeg Announcements New assembly examples uploaded to

More information

Transfer of Control. Lecture 10 JMP. JMP Formats. Jump Loop Homework 3 Outputting prompts Reading single characters

Transfer of Control. Lecture 10 JMP. JMP Formats. Jump Loop Homework 3 Outputting prompts Reading single characters Lecture 10 Jump Loop Homework 3 Outputting prompts Reading single characters Transfer of Control The CPU loads and executes programs sequentially. You d like to be able to implement if statements, gotos,

More information

Lecture 5: Computer Organization Instruction Execution. Computer Organization Block Diagram. Components. General Purpose Registers.

Lecture 5: Computer Organization Instruction Execution. Computer Organization Block Diagram. Components. General Purpose Registers. Lecture 5: Computer Organization Instruction Execution Computer Organization Addressing Buses Fetch-Execute Cycle Computer Organization CPU Control Unit U Input Output Memory Components Control Unit fetches

More information

SPRING TERM BM 310E MICROPROCESSORS LABORATORY PRELIMINARY STUDY

SPRING TERM BM 310E MICROPROCESSORS LABORATORY PRELIMINARY STUDY BACKGROUND Segment The "SEGMENT" and "ENDS" directives indicate to the assembler the beginning and ending of a segment and have the following format label SEGMENT [options] ;place the statements belonging

More information

Ex: Write a piece of code that transfers a block of 256 bytes stored at locations starting at 34000H to locations starting at 36000H. Ans.

Ex: Write a piece of code that transfers a block of 256 bytes stored at locations starting at 34000H to locations starting at 36000H. Ans. INSTRUCTOR: ABDULMUTTALIB A H ALDOURI Conditional Jump Cond Unsigned Signed = JE : Jump Equal JE : Jump Equal ZF = 1 JZ : Jump Zero JZ : Jump Zero ZF = 1 JNZ : Jump Not Zero JNZ : Jump Not Zero ZF = 0

More information

We can study computer architectures by starting with the basic building blocks. Adders, decoders, multiplexors, flip-flops, registers,...

We can study computer architectures by starting with the basic building blocks. Adders, decoders, multiplexors, flip-flops, registers,... COMPUTER ARCHITECTURE II: MICROPROCESSOR PROGRAMMING We can study computer architectures by starting with the basic building blocks Transistors and logic gates To build more complex circuits Adders, decoders,

More information

Come and join us at WebLyceum

Come and join us at WebLyceum Come and join us at WebLyceum For Past Papers, Quiz, Assignments, GDBs, Video Lectures etc Go to http://www.weblyceum.com and click Register In Case of any Problem Contact Administrators Rana Muhammad

More information

Experiment 3. TITLE Optional: Write here the Title of your program.model SMALL This directive defines the memory model used in the program.

Experiment 3. TITLE Optional: Write here the Title of your program.model SMALL This directive defines the memory model used in the program. Experiment 3 Introduction: In this experiment the students are exposed to the structure of an assembly language program and the definition of data variables and constants. Objectives: Assembly language

More information

Lecture 16: Passing Parameters on the Stack. Push Examples. Pop Examples. CALL and RET

Lecture 16: Passing Parameters on the Stack. Push Examples. Pop Examples. CALL and RET Lecture 1: Passing Parameters on the Stack Push Examples Quick Stack Review Passing Parameters on the Stack Binary/ASCII conversion ;assume SP = 0202 mov ax, 124h push ax push 0af8h push 0eeeh EE 0E F8

More information

Time Left. sec(s) Quiz Start Time: 12:13 AM. Question # 5 of 10 ( Start time: 12:18:29 AM ) Total Marks: 1

Time Left. sec(s) Quiz Start Time: 12:13 AM. Question # 5 of 10 ( Start time: 12:18:29 AM ) Total Marks: 1 64 Quiz Start Time: 12:13 AM Question # 5 of 10 ( Start time: 12:18:29 AM ) Total Marks: 1 The root directory of floppy contains fixed entries 64 256 128 512 77 Quiz Start Time: 12:13 AM Question # 6 of

More information

Assembly Language for Intel-Based Computers, 4 th Edition

Assembly Language for Intel-Based Computers, 4 th Edition Assembly Language for Intel-Based Computers, 4 th Edition Kip R. Irvine Chapter 13: 16-Bit MS-DOS Programming Interrupts Slide show prepared by Kip R. Irvine, Revision date: 08/04/02 Modified by Dr. Nikolay

More information

8086 ALP TOOLS (CH 2) CHAPTER 2

8086 ALP TOOLS (CH 2) CHAPTER 2 1 CHAPTER 2 In this chapter, we shall discuss the Assembly Language Program development tools, PC memory structure and Assembler directives. Books to be Referred: 1. Microprocessors and Interfacing 2nd

More information

Segmentation in Assembly Language Programming

Segmentation in Assembly Language Programming 1 2 Segmentation in General Segmentation in Assembly Language Programming UNIX programs have 3 segments Text segment Executable machine instructions Data segment Initialized data BSS segment (Block Started

More information

UNIT 4. Modular Programming

UNIT 4. Modular Programming 1 UNIT 4. Modular Programming Program is composed from several smaller modules. Modules could be developed by separate teams concurrently. The modules are only assembled producing.obj modules (Object modules).

More information

INTRODUCTION. NOTE Some symbols used in this manual CL = Click Left CR = Click Right DCL = Double Click Left = Enter. Page 1

INTRODUCTION. NOTE Some symbols used in this manual CL = Click Left CR = Click Right DCL = Double Click Left = Enter. Page 1 INTRODUCTION OBJECTIVE The purpose of this manual is to provide the student with practical experience in the writing of assembly language programs, and give them background and instructions on how to use

More information

Computer Architecture and System Software Lecture 06: Assembly Language Programming

Computer Architecture and System Software Lecture 06: Assembly Language Programming Computer Architecture and System Software Lecture 06: Assembly Language Programming Instructor: Rob Bergen Applied Computer Science University of Winnipeg Announcements Assignment 3 due thursday Midterm

More information

ORG ; TWO. Assembly Language Programming

ORG ; TWO. Assembly Language Programming Dec 2 Hex 2 Bin 00000010 ORG ; TWO Assembly Language Programming OBJECTIVES this chapter enables the student to: Explain the difference between Assembly language instructions and pseudo-instructions. Identify

More information

Microprocessor. By Mrs. R.P.Chaudhari Mrs.P.S.Patil

Microprocessor. By Mrs. R.P.Chaudhari Mrs.P.S.Patil Microprocessor By Mrs. R.P.Chaudhari Mrs.P.S.Patil Chapter 1 Basics of Microprocessor CO-Draw Architecture Of 8085 Salient Features of 8085 It is a 8 bit microprocessor. It is manufactured with N-MOS technology.

More information

Intel x86 Memory. Architecture. The x86 isn't all that complex it just doesn't make a lot of sense. Program Segments. x86 Data and Address Ranges

Intel x86 Memory. Architecture. The x86 isn't all that complex it just doesn't make a lot of sense. Program Segments. x86 Data and Address Ranges 1 2 Intel x86 Memory The x86 isn't all that complex it just doesn't make a lot of sense. Architecture Mike Johnson, Leader of 80x86 Design at AMD, Microprocessor Report (1994) 3 4 Program Segments x86

More information

VARDHAMAN COLLEGE OF ENGINEERING (AUTONOMOUS) Shamshabad, Hyderabad

VARDHAMAN COLLEGE OF ENGINEERING (AUTONOMOUS) Shamshabad, Hyderabad Introduction to MS-DOS Debugger DEBUG In this laboratory, we will use DEBUG program and learn how to: 1. Examine and modify the contents of the 8086 s internal registers, and dedicated parts of the memory

More information

Addressing Modes on the x86

Addressing Modes on the x86 Addressing Modes on the x86 register addressing mode mov ax, ax, mov ax, bx mov ax, cx mov ax, dx constant addressing mode mov ax, 25 mov bx, 195 mov cx, 2056 mov dx, 1000 accessing data in memory There

More information

Chapter 2 COMPUTER SYSTEM HARDWARE

Chapter 2 COMPUTER SYSTEM HARDWARE Chapter 2 COMPUTER SYSTEM HARDWARE A digital computer system consists of hardware and software. The hardware consists of the physical components of the system, whereas the software is the collection of

More information

ADVANCE MICROPROCESSOR & INTERFACING

ADVANCE MICROPROCESSOR & INTERFACING VENUS INTERNATIONAL COLLEGE OF TECHNOLOGY Gandhinagar Department of Computer Enggineering ADVANCE MICROPROCESSOR & INTERFACING Name : Enroll no. : Class Year : 2014-15 : 5 th SEM C.E. VENUS INTERNATIONAL

More information

Week /8086 Microprocessor Programming II

Week /8086 Microprocessor Programming II Week 5 8088/8086 Microprocessor Programming II Quick Review Shift & Rotate C Target register or memory SHL/SAL 0 C SHR 0 SAR C Sign Bit 2 Examples Examples Ex. Ex. Ex. SHL dest, 1; SHL dest,cl; SHL dest,

More information

Week /8086 Microprocessor Programming I

Week /8086 Microprocessor Programming I Week 4 8088/8086 Microprocessor Programming I Example. The PC Typewriter Write an 80x86 program to input keystrokes from the PC s keyboard and display the characters on the system monitor. Pressing any

More information

Lecture 5:8086 Outline: 1. introduction 2. execution unit 3. bus interface unit

Lecture 5:8086 Outline: 1. introduction 2. execution unit 3. bus interface unit Lecture 5:8086 Outline: 1. introduction 2. execution unit 3. bus interface unit 1 1. introduction The internal function of 8086 processor are partitioned logically into processing units,bus Interface Unit(BIU)

More information

8086 INTERNAL ARCHITECTURE

8086 INTERNAL ARCHITECTURE 8086 INTERNAL ARCHITECTURE Segment 2 Intel 8086 Microprocessor The 8086 CPU is divided into two independent functional parts: a) The Bus interface unit (BIU) b) Execution Unit (EU) Dividing the work between

More information

reply db y prompt db Enter your favourite colour:, 0 colour db 80 dup(?) i db 20 k db? num dw 4000 large dd 50000

reply db y prompt db Enter your favourite colour:, 0 colour db 80 dup(?) i db 20 k db? num dw 4000 large dd 50000 Declaring Variables in Assembly Language As in Java, variables must be declared before they can be used Unlike Java, we do not specify a variable type in the declaration in assembly language Instead we

More information

Basic characteristics & features of 8086 Microprocessor Dr. M. Hebaishy

Basic characteristics & features of 8086 Microprocessor Dr. M. Hebaishy Basic characteristics & features of 8086 Microprocessor Dr. M. Hebaishy Digital Logic Design Ch1-1 8086 Microprocessor Features: The 8086 microprocessor is a 16 bit microprocessor. The term 16 bit means

More information

PESIT Bangalore South Campus

PESIT Bangalore South Campus INTERNAL ASSESSMENT TEST 2 Date : 02/04/2018 Max Marks: 40 Subject & Code : Microprocessor (15CS44) Section : IV A and B Name of faculty: Deepti.C Time : 8:30 am-10:00 am Note: Note: Answer any five complete

More information

BAHAR DÖNEMİ MİKROİŞLEMCİLER LAB3 FÖYÜ

BAHAR DÖNEMİ MİKROİŞLEMCİLER LAB3 FÖYÜ INTRODUCTION OF SEGMENT A typical program on 8086 consists of at least three segments Code segment: Contains instructions that accomplish certain tasks Data segment: Stores information to be processed

More information

SHEET-2 ANSWERS. [1] Rewrite Program 2-3 to transfer one word at a time instead of one byte.

SHEET-2 ANSWERS. [1] Rewrite Program 2-3 to transfer one word at a time instead of one byte. SHEET-2 ANSWERS [1] Rewrite Program 2-3 to transfer one word at a time instead of one byte. TITLE PROG2-3 PURPOSE: TRANSFER 6 WORDS OF DATA PAGE 60,132.MODEL SMALL.STACK 64.DATA ORG 10H DATA_IN DW 234DH,

More information

16.317: Microprocessor Systems Design I Fall 2013

16.317: Microprocessor Systems Design I Fall 2013 16.317: Microprocessor Systems Design I Fall 2013 Exam 1 Solution 1. (20 points, 5 points per part) Multiple choice For each of the multiple choice questions below, clearly indicate your response by circling

More information

Microprocessor and Assembly Language Week-5. System Programming, BCS 6th, IBMS (2017)

Microprocessor and Assembly Language Week-5. System Programming, BCS 6th, IBMS (2017) Microprocessor and Assembly Language Week-5 System Programming, BCS 6th, IBMS (2017) High Speed Memory Registers CPU store data temporarily in these location CPU process, store and transfer data from one

More information

EC-333 Microprocessor and Interfacing Techniques

EC-333 Microprocessor and Interfacing Techniques EC-333 Microprocessor and Interfacing Techniques Lecture 4 Addressing Modes Dr Hashim Ali Spring - 2018 Department of Computer Science and Engineering HITEC University Taxila Slides taken from Computer

More information

icroprocessor istory of Microprocessor ntel 8086:

icroprocessor istory of Microprocessor ntel 8086: Microprocessor A microprocessor is an electronic device which computes on the given input similar to CPU of a computer. It is made by fabricating millions (or billions) of transistors on a single chip.

More information

MODE (mod) FIELD CODES. mod MEMORY MODE: 8-BIT DISPLACEMENT MEMORY MODE: 16- OR 32- BIT DISPLACEMENT REGISTER MODE

MODE (mod) FIELD CODES. mod MEMORY MODE: 8-BIT DISPLACEMENT MEMORY MODE: 16- OR 32- BIT DISPLACEMENT REGISTER MODE EXERCISE 9. Determine the mod bits from Figure 7-24 and write them in Table 7-7. MODE (mod) FIELD CODES mod 00 01 10 DESCRIPTION MEMORY MODE: NO DISPLACEMENT FOLLOWS MEMORY MODE: 8-BIT DISPLACEMENT MEMORY

More information

iapx Systems Electronic Computers M

iapx Systems Electronic Computers M iapx Systems Electronic Computers M 1 iapx History We analyze 32 bit systems: generalization to 64 bits is straigtforward Segment Registers (16 bits) Code Segment Stack Segment Data Segment Extra Ssegment

More information

IA32 Intel 32-bit Architecture

IA32 Intel 32-bit Architecture 1 2 IA32 Intel 32-bit Architecture Intel 32-bit Architecture (IA32) 32-bit machine CISC: 32-bit internal and external data bus 32-bit external address bus 8086 general registers extended to 32 bit width

More information

1. Introduction to Assembly Language

1. Introduction to Assembly Language www.vchowk.com 1. Introduction to Assembly Language Solved EXERCISE 1 Note: Dear fellows I tried my best to solve this exercise questions if there s any mistake or doubt in any question correct it and

More information

Mr. Sapan Naik 1. Babu Madhav Institute of Information Technology, UTU

Mr. Sapan Naik 1. Babu Madhav Institute of Information Technology, UTU 5 Years Integrated M.Sc.(IT) Semester 4 060010402 System Programming Question Bank Unit 1: Introduction 1. Write the decimal equivalent for each integral power of 2 from 2! to 2!". 2. Convert the following

More information

Introduction to IA-32. Jo, Heeseung

Introduction to IA-32. Jo, Heeseung Introduction to IA-32 Jo, Heeseung IA-32 Processors Evolutionary design Starting in 1978 with 8086 Added more features as time goes on Still support old features, although obsolete Totally dominate computer

More information

EC 333 Microprocessor and Interfacing Techniques (3+1)

EC 333 Microprocessor and Interfacing Techniques (3+1) EC 333 Microprocessor and Interfacing Techniques (3+1) Lecture 6 8086/88 Microprocessor Programming (Arithmetic Instructions) Dr Hashim Ali Fall 2018 Department of Computer Science and Engineering HITEC

More information

INT 21H and INT 10H Programming and Macros

INT 21H and INT 10H Programming and Macros Dec Hex Bin 4 4 00000100 ORG ; FOUR INT 21H and INT 10H Programming and Macros OBJECTIVES this chapter enables the student to: Use INT 10H function calls to: Clear the screen. Set the cursor position.

More information

Lecture (02) The Microprocessor and Its Architecture By: Dr. Ahmed ElShafee

Lecture (02) The Microprocessor and Its Architecture By: Dr. Ahmed ElShafee Lecture (02) The Microprocessor and Its Architecture By: Dr. Ahmed ElShafee ١ INTERNAL MICROPROCESSOR ARCHITECTURE Before a program is written or instruction investigated, internal configuration of the

More information

INTRODUCTION TO IA-32. Jo, Heeseung

INTRODUCTION TO IA-32. Jo, Heeseung INTRODUCTION TO IA-32 Jo, Heeseung IA-32 PROCESSORS Evolutionary design Starting in 1978 with 8086 Added more features as time goes on Still support old features, although obsolete Totally dominate computer

More information

Assembly Language. Dr. Esam Al_Qaralleh CE Department Princess Sumaya University for Technology. Overview of Assembly Language

Assembly Language. Dr. Esam Al_Qaralleh CE Department Princess Sumaya University for Technology. Overview of Assembly Language 4345 Assembly Language Assembly Language Dr. Esam Al_Qaralleh CE Department Princess Sumaya University for Technology Assembly Language 3-1 Overview of Assembly Language Advantages: Faster as compared

More information

Marking Scheme. Examination Paper Department of CE. Module: Microprocessors (630313)

Marking Scheme. Examination Paper Department of CE. Module: Microprocessors (630313) Philadelphia University Faculty of Engineering Marking Scheme Examination Paper Department of CE Module: Microprocessors (630313) Final Exam Second Semester Date: 02/06/2018 Section 1 Weighting 40% of

More information

IBM PC Hardware CPU 8088, Pentium... ALU (Arithmetic and Logic Unit) Registers. CU (Control Unit) IP.

IBM PC Hardware CPU 8088, Pentium... ALU (Arithmetic and Logic Unit) Registers. CU (Control Unit) IP. IBM PC Hardware CPU 8088, 8086 80286 80386 80486 Pentium... ALU (Arithmetic and Logic Unit) Registers CU (Control Unit) IP Memory ROM BIOS I/O RAM OS Programs Video memory BIOS data Interrupt Vectors Memory

More information

The x86 Microprocessors. Introduction. The 80x86 Microprocessors. 1.1 Assembly Language

The x86 Microprocessors. Introduction. The 80x86 Microprocessors. 1.1 Assembly Language The x86 Microprocessors Introduction 1.1 Assembly Language Numbering and Coding Systems Human beings use the decimal system (base 10) Decimal digits: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 Computer systems use the

More information

CS401 - Computer Architecture and Assembly Language Programming Glossary By

CS401 - Computer Architecture and Assembly Language Programming Glossary By CS401 - Computer Architecture and Assembly Language Programming Glossary By absolute address : A virtual (not physical) address within the process address space that is computed as an absolute number.

More information

Project 1: Bootloader. COS 318 Fall 2015

Project 1: Bootloader. COS 318 Fall 2015 Project 1: Bootloader COS 318 Fall 2015 Project 1: Schedule Design Review - Monday, 9/28-10- min Ime slots from 1:30pm- 6:20pm - Write funcions print_char and print_string! - Answer the quesions: ü How

More information

16-bit MS-DOS and BIOS Programming

16-bit MS-DOS and BIOS Programming CS2422 Assem bly Language and System Programming 16-bit MS-DOS and BIOS Programming Department of Computer Science National Tsing Hua University Overview Chapter 13: 16-bit MS-DOS Programming MS-DOS and

More information

Q. State and Explain steps involved in program development. [w-08, w-10, s-12, w-11]

Q. State and Explain steps involved in program development. [w-08, w-10, s-12, w-11] Q. State and Explain steps involved in program development. [w-08, w-10, s-12, w-11] Answer: 1. Defining Problem 2. Algorithm 3. Flowchart 4. Initialization of checklist 5. Choosing instructions 6. Converting

More information

Basic Assembly SYSC-3006

Basic Assembly SYSC-3006 Basic Assembly Program Development Problem: convert ideas into executing program (binary image in memory) Program Development Process: tools to provide people-friendly way to do it. Tool chain: 1. Programming

More information

Midterm Exam #2 Answer Key

Midterm Exam #2 Answer Key Midterm Exam #2 Answer Key Name: Student ID #: I have read and understand Washington State University s policy on academic dishonesty and cheating YOU Signed: Problem 1) Consider the following fragment

More information

Question Bank Part-A UNIT I- THE 8086 MICROPROCESSOR 1. What is microprocessor? A microprocessor is a multipurpose, programmable, clock-driven, register-based electronic device that reads binary information

More information

Tutorial Letter 103/3/2012 Computer Organization COS2621 Semesters 1 & 2

Tutorial Letter 103/3/2012 Computer Organization COS2621 Semesters 1 & 2 COS2621/103/3/2012 Tutorial Letter 103/3/2012 Computer Organization COS2621 Semesters 1 & 2 School of Computing Solutions to self tests Bar code 2 Self-test A Question 1 Alternative 1 Which one of the

More information

Operating Systems. Project #2: System Calls

Operating Systems. Project #2: System Calls Operating Systems Project #2: System Calls Project #2: System Calls Objective Background Getting Started Using BIOS Routines Printing to the Screen via the BIOS (Interrupt 0x10) Reading from the Keyboard

More information

ELEC 242 Time Delay Procedure

ELEC 242 Time Delay Procedure There are many occasions where we wish to time events. If we are using a personal computer, we have a number of ways to do this. The 8088/8086 computer had a Programmable Interval Timer like the 8253/54

More information

Chapter Three Addressing Mode MOV AX, BX

Chapter Three Addressing Mode MOV AX, BX Chapter Three The 8086 The 8086 When the 8086 executes an instruction, it performs the specified function on data. The data are called its operands and may be part of the instruction reside in one of the

More information

6/17/2011. Introduction. Chapter Objectives Upon completion of this chapter, you will be able to:

6/17/2011. Introduction. Chapter Objectives Upon completion of this chapter, you will be able to: Chapter 2: The Microprocessor and its Architecture Chapter 2: The Microprocessor and its Architecture Chapter 2: The Microprocessor and its Architecture Introduction This chapter presents the microprocessor

More information

The Microprocessor and its Architecture

The Microprocessor and its Architecture The Microprocessor and its Architecture Contents Internal architecture of the Microprocessor: The programmer s model, i.e. The registers model The processor model (organization) Real mode memory addressing

More information

EXPERIMENT 1. FAMILIARITY WITH DEBUG, x86 REGISTERS and MACHINE INSTRUCTIONS

EXPERIMENT 1. FAMILIARITY WITH DEBUG, x86 REGISTERS and MACHINE INSTRUCTIONS EXPERIMENT 1 FAMILIARITY WITH DEBUG, x86 REGISTERS and MACHINE INSTRUCTIONS Pre-lab: This lab introduces you to a software tool known as DEBUG. Before the lab session, read the first two sections of chapter

More information

Parameter Passing. Procedure line. Calling procedure line. Most subroutines require parameters Can sometimes pass parameters via registers

Parameter Passing. Procedure line. Calling procedure line. Most subroutines require parameters Can sometimes pass parameters via registers Parameter Passing Most subroutines require parameters Can sometimes pass parameters via registers Assume subroutine line will compute the value: y = m*x + b where m,x,b are signed byte values, and y is

More information

Experiment #5. Using BIOS Services and DOS functions Part 1: Text-based Graphics

Experiment #5. Using BIOS Services and DOS functions Part 1: Text-based Graphics Experiment #5 Using BIOS Services and DOS functions Part 1: Text-based Graphics 5.0 Objectives: The objective of this experiment is to introduce BIOS and DOS interrupt service routines to be utilized in

More information

Computer Processors. Part 2. Components of a Processor. Execution Unit The ALU. Execution Unit. The Brains of the Box. Processors. Execution Unit (EU)

Computer Processors. Part 2. Components of a Processor. Execution Unit The ALU. Execution Unit. The Brains of the Box. Processors. Execution Unit (EU) Part 2 Computer Processors Processors The Brains of the Box Computer Processors Components of a Processor The Central Processing Unit (CPU) is the most complex part of a computer In fact, it is the computer

More information

UNIT 2 PROCESSORS ORGANIZATION CONT.

UNIT 2 PROCESSORS ORGANIZATION CONT. UNIT 2 PROCESSORS ORGANIZATION CONT. Types of Operand Addresses Numbers Integer/floating point Characters ASCII etc. Logical Data Bits or flags x86 Data Types Operands in 8 bit -Byte 16 bit- word 32 bit-

More information

Assembler Programming. Lecture 2

Assembler Programming. Lecture 2 Assembler Programming Lecture 2 Lecture 2 8086 family architecture. From 8086 to Pentium4. Registers, flags, memory organization. Logical, physical, effective address. Addressing modes. Processor Processor

More information

Section 001 & 002. Read this before starting!

Section 001 & 002. Read this before starting! Points missed: Student's Name: Total score: /100 points East Tennessee State University Department of Computer and Information Sciences CSCI 2150 (Tarnoff) Computer Organization TEST 3 for Spring Semester,

More information

Chapter 2: The Microprocessor and its Architecture

Chapter 2: The Microprocessor and its Architecture Chapter 2: The Microprocessor and its Architecture Chapter 2: The Microprocessor and its Architecture Chapter 2: The Microprocessor and its Architecture Introduction This chapter presents the microprocessor

More information