SOFTWARE ENVIRONMENT
|
|
- Emory Harrison
- 7 years ago
- Views:
Transcription
1 Chapter 5 SOFTWARE ENVIRONMENT As stated in chapter 2, a computer software is the collection of programs that can be executed on that computer. Programs are usually subdivided into two major classes: application programs and system programs. An application program is a program that is used to perform a task or to solve a problem for its user whereas a system program is a program that is used for the operation of the computer. Examples of application programs are word processing software such as Microsoft Word, electronic spreadsheets software such as Lotus 123, and data base management systems such as Microsoft Access. This chapter discusses the operating system used on Intel 8086based computer systems, and the system programs that are essential for the development and execution of programs. 5.1 System Programs Examples of system programs are text editors, compilers, assemblers, linkers, loaders, and operating systems. The operating system is the most fundamental of all system programs and text editors, compilers, assemblers, linkers, and loaders are essentials for the development and execution of programs. 119
2 120 Text Editors A text editor reads characters from the keyboard and places them into a file. Text editors are used to produce the source modules (or files) of a program. Most compiler and assembler software packages come with their own text editor. However, one called Edit is provided in the DOS environment of Windows operating systems, and another one called notepad comes with Windows operating systems. Compilers A compiler translates a highlevel language program source module into machine language and also creates an object file (module) that contains the machine language code translation of the program. There is a compiler for each language and for each type of computers. For examples, a C++ compiler for the IBM PC and compatible computers, a C++ compiler for the Apple Macintosh computers, or a Java compiler for the IBM PC and compatible computers. Assemblers An assembler translates an assembly language program source module into machine language and also creates an object file (module) that contains the machine language code translation of the program. In addition to containing the machine language translation of a source module, an object module also contains other information such as references to external data and entry points of external procedures and functions that must be resolved by the linker. It also contains relocatable values that may change after an object module is combined with other object modules. A relocatable value is a value such as the displacement of a memory location that depends on the starting address of the program data or stack segment. It also contains references to addresses that are not known until the program is loaded in memory. One such reference is a segment selector in Intel 8086 systems. Part of this information is processed by the linker, and the rest is processed by the loader.
3 121 Linker A linkage editor, or linker combines separately translated object modules and the library functions called in a program into a single load (or executable) module. It must perform two major tasks: the first is to concatenate all the object codes into one module, possibly adjusting the relocatable values (such as displacements) that are to be relative to the start of the final module for object files other the first one. In an Intel 8086based system, this process involves the concatenation of related segments from all the object files and the libraries. The second task is to resolve external references in each object module by providing the address or the pointer to each external reference in an object module. In addition to the instructions and the data of a program, the load module also contains the program header which is used to provide information about the load module to the loader. Some of the information provided in the program header are the size of the load module, the size of the program header, and information about references to addresses that are not known until the program is loaded in memory. Loaders Using the information provided in the program header, A loader does the following: determine how much memory is needed to hold a program, and the starting address for a program. copy the load module into memory. For the Intel 8086based systems, the loader also builds a program segment prefix (PSP) in the first 256 (100h) bytes of the memory allocated to a program. The PSP is used by the operating system DOS to save certain information about the system when the program is invoked. It is also used to hold the command line arguments of the program. adjust references to addresses that depend on the starting address of the program by adding a constant to them.
4 122 initialize the registers that are necessary for the execution of the program. For example, in computer systems based on the Intel 8086 processor, registers SP and IP are initialized with values provided in the program header, and the segment registers CS and SS are initialized respectively with the selector of the code segment and the selector of the stack segment. transfer the control of the CPU to the program for execution. In Intel 8086based systems, the transfer is accomplished by setting the initial values of the registers CS and IP. Operating Systems The operating system is the most fundamental of all system programs. It manages the system resources, main memory, disks, printers, CPU,.., etc, and also provides an interface to the hardware that is easy to understand and use in other programs. The operating systems used on most Intel Pentium systems today are windows 98, and windows However, windows 2000 provides a program called NTVDM (NT virtual DOS machine) that emulates the operating system DOS and the ROM BIOS which constitute the major operating system used on computer systems based on the Intel 8086 processor. 5.2 DOS and ROM BIOS The operating system used on most Intel 8086based computer systems consists of DOS (disk operating system) and the ROM BIOS (basic input/output system). The ROM BIOS are routines that are for the most part machine independent. They are stored in read only memory on a chip that plugs on the motherboard. These routines consist of computer initialization routines, and service routines that may be used by application programs and DOS to have access to the hardware.
5 123 MSDOS (PC DOS for IBM PC) developed by Microsoft Corporation consists of three files: two hidden files (that do not show up in the disk directory) called IO.SYS and MSDOS.SYS (IBMBIO.SYS and IBMDOS.COM on IBM PC) and another file, the command interpreter called COMMAND.COM. IOS.YS (IBMBIO.SYS on IBM PC) usually called DOS BIOS has three elements: resident device drivers customized for each particular machine by the manufacturer; a BIOS initialization routine, and the system initialization routine called SYSINT, which is provided by Microsoft. DOS BIOS must contain device drivers for at least the following devices: CON (keyboard and display), PRN (line printer LPT1), AUX (serial port COM1), CLOCK$ (date and time support), and one disk drive (block device). MSDOS.SYS (IBMDOS.COM on IBM PC) also called the kernel of DOS is developed and owned by Microsoft Corporation. It provides service routines for file and directory management, character device input and output (keyboard, screen, and printer), and time and date support. It also provides service routines for memory management and task and environment management. These services call upon BIOS services and device drivers to provide a device independent access to the hardware that is easy to understand and use in application programs. The CONFIG.SYS file that also comes with DOS allows certain modifications to the kernel and the addition of other device drivers to the BIOS. The command interpreter (also called DOS shell) COMMAND.COM provides a commandoriented interface between the user and the system. It contains routines that may be invoked through (internal) commands issued by a user to perform operations such as file and directory operations, and operations to load and execute programs. It displays a prompt called DOS prompt, monitors the keyboard, and processes user commands. You open a window to run the command interpreter by doing the following: 1. Click on START 2. Follow the path: All Programs > Accessories > Command Prompt 3. Click on Command Prompt. (A prompt like the following one will be displayed: C:\>) You exit the DOS command interpreter and return to Windows by typing the command EXIT at the DOS Prompt.
6 124 DOS Program Files DOS recognizes two types of executable or program files: files with filename extension.com (.COM files), and those with filename extension.exe (.EXE files). The two major differences between these program files follow: S S COM program cannot exceed 64 KB in size. In a.com program, all the (logical) segments are loaded in the same frame. That means, the contents of all segment registers are set to the same segment selector. An.EXE program is produced by the linker from the object file(s) of a program. However, some.exe programs may be converted into a.com program by using EXE2BIN utility program. Both kinds of programs (.COM and.exe) are executed just by typing their names followed by a carriage return at the DOS prompt. DOS also recognizes another type of files (with extension.bat) called command file. A command file is used by computer users to hold the sequence of DOS commands that they would otherwise provide to DOS from the keyboard. InputOutput Interface DOS also includes a number of routines called service routines or system services which can be invoked in userdefined (or application) programs to access the hardware. Some of these service routines are used for program termination and return to the command processor or for accessing peripheral devices (for example to perform I/O operations). Each service routine (or function) is identified by an 8bit (00h to FFh) code called function code, and is accessed by application programs through interrupts. BIOS (Basic Input/Output System) which is burned into the ROM of 8086based computers by the manufacturer also provides service routines to be used by DOS and application programs to access the hardware. BIOS services are more efficient and allow the programmer and DOS to get closer to the hardware. DOS services and application programs use interrupts to access BIOS services.
7 125 A program initiates an interrupt by using the INTerrupt instruction with the following syntax: Examples INT <type> Assembly Language Machine Language INT 3 INT 0Ah CC CD 0A INT 5 CD 05 INT 20h is used to terminate a.com program and to return the control of the CPU to the command processor. DOS service routines are accessed by loading their function code into register AH and issuing the INT 21h (also called DOS function call) instruction. 5.3 Using Debug The DOS operating system comes with a utility program named DEBUG.COM which is used for testing and debugging executable (.COM and.exe) programs. In the Debug environment, the programmer can store the instructions and the data of a machine language program into the memory and execute it. Debug also has a singlestep execution mode that allows a programmer to execute a program one instruction at a time, so that he/she can view the effects of each instruction on memory locations and the registers before the execution of the next instruction. You start Debug by typing one of the following commands at the DOS prompt: DEBUG or DEBUG <filespecification> where <filespecification> is the filename specification of an executable (.COM or.exe) program file.
8 126 If <filespecification> is specified, Debug immediately loads the specified file into the memory for debugging, and initializes the registers CS, IP, SS, and SP. Upon entry, Debug displays a dash () to prompt the user for a command. Debug Commands A Debug command consists of a single character. Some commands may also have one or more parameters which may either be a (physical) address, a range of addresses, a register name, or a value. All values are specified in hexadecimal (with up to four digits) without the h or H suffix. A word value with less than four digits is padded to the left with zeroes. An address may be specified in one of the following forms: Examples: selector:offset or Segregister:offset S S S 1BF4:005A CS:005A DS:0008 When a segment register is used, Debug assumes that the segment selector part of the address is the contents of that register. The selector or Segregister may also be omitted as in : 005A and 008. When this is the case, Debug either uses the contents of register DS (data segment) or the contents of register CS (code segment) as the selector depending on the command. A range of addresses is used to specify the first and the last byte of a continuous block of bytes in the main memory. It is specified in one of the following forms: <address1> <offset2> or <address1> L n
9 127 where <address1> <offset2> n is the selector:offset address of the first byte, is the offset of the last byte is the number of bytes (in hexadecimal) in the block. Examples: S 1BF4: memory location from offset 0120 to offset 0140 in the segment with selector 1BF4. S CS:350 37F Memory location from offset 0350 to offset 037F in the segment with selector in register CS (code segment). S 1BF4:120 L 21 Memory location with 21h (= 33) bytes starting at offset 0120 in the segment with selector 1BF4. Same memory location as the one in the first example. S CS:350 L 30 Memory location with 30h ( = 48 ) bytes starting at offset 0350 in the segment with selector in CS (code segment). Same memory location as the one in second example. Debug does not distinguish between lowercase and uppercase letters and each command must be terminated with the ENTER key. The following are the most commonly used Debug commands: R Display the contents of all registers. The contents of each register are displayed in hexadecimal. On the line following the contents of the registers, it displays the next instruction to be executed (in symbolic form) with its address. Example R AX=0000 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000 DS=0AE7 ES=0AE7 SS=0AE7 CS=0AE7 IP=0100 NV UP EI PL NZ NA PO NC 0AE7: CBW
10 128 R <registername> change the contents of register with name <registername>. Debug first displays the old contents of the specified register (in hexadecimal). To change it, type the new value (in hexadecimal) then press ENTER. Just press ENTER to retain the old value. Example The contents of register AX is changed to 1A1B as follows: R AX AX 0000 (Current contents of register AX) :1A2B R AX AX 1A2B (New contents of register AX) D [ range ] Display (dump) the contents of a memory location specified by <range>. The contents of the memory location are displayed in hexadecimal (with a maximum of16 bytes per line). with the ASCII character representation of each byte (if any) to the far right. The format of a displayed line is as follows: <Selector: Offset Address> < Hexadecimal Representation> <ASCII characters> Examples: 1. To display the contents of the memory location from offset 0120 to offset 013F in the data segment: D DS:120 13F 0AE7:0120 A A C9 75 1D 0AC B 0E E3.$...u...t...!.. 0AE7: B0 1A FF 8E F2 AE F u.O 2. To display 14 bytes from offset 110 in the data segment: D 110 LE 0AE7: D0 E0 D0 E0 A2 1E E > 4.
11 129 Note the following: The default segment for the D command is the data segment. If a byte does not correspond to a valid ASCII code, the corresponding character is a dot (.) If a range is not specified in a D command, 128 bytes starting at the next offset after the last display (or DS:100 for the first display) will be displayed. In the case that only the beginning offset is specified as in the command: D 12A 128 bytes will be displayed starting at that address. E <address> <valuelist> Enter one or more byte values specified by <valuelist> into the memory location starting at <address>. <valuelist> is a sequence of one or more byte values and/or string of characters separated by spaces. A character string must be enclosed inside quotes. Characters in a string are translated into their ASCII codes. Examples: 1. Store the bytes values 0A, 1B, 2C, 3D, and 4F into memory starting at the address DS:110: E DS:110 A 1B 2C 3D 4E 5F D DS:110 L6 0AE7:0110 0A 1B 2C 3D 4E 5F..,=N_ 2. Store the byte values 0A and 0B, and the string CS280' into memory starting at the address DS:120: E 120 A B 'CS280' D 120 L7 0AE7:0120 0A 0B CS280
12 Store the string Gilbert Ndjatou into memory starting at offset 0130: E 130 'Gilbert Ndjatou' D 130 LF 0AE7: C E 64 6A F 75 Gilbert Ndjatou Note that if <list> is omitted, Debug displays the address and its current contents. To change it, type the new value, then press ENTER; to leave the byte unchanged, press the SpaceBar if you want to display the contents of the next address; otherwise, press ENTER. A <address> Translate (assemble) Assembly Language Instructions into machine language and store them into consecutive memory locations starting at <address>. Type each instruction followed by ENTER; and press ENTER if there is no more instruction. If <address> is not specified, the first machine language instruction is stored at the address specified by CS:IP. The default segment for this command is the code segment. Example: A 100 0AE7:0100 MOV AX, 1 0AE7:0103 MOV BX, 2 0AE7:0106 MOV CX, 3 0AE7:0109 MOV DX, 4 0AE7:010C INT 20 0AE7:010E
13 131 U <range> Translate (disassemble) the machine language instructions in the memory locations specified by <range> to assembly language. If the range is not specified, the translation starts at the first address after the last translation (or CS:IP for the first time). If only the first address is specified, instructions in approximately twenty bytes are translated. Examples U D 0AE7:0100 B80100 MOV AX,0001 0AE7:0103 BB0200 MOV BX,0002 0AE7:0106 B90300 MOV CX,0003 0AE7:0109 BA0400 MOV DX,0004 0AE7:010C CD20 INT 20 T < =address> <value> Executing (trace) the Machine Language Instructions in memory. <address> is the address of the first instruction to be executed and <value> (in hexadecimal) is the number of instructions to be executed. After the execution of each instruction, Debug displays the contents of all registers, and the next instruction to be executed. If <address> is not specified, the execution begins with the instruction at address CS:IP. If <value> is not specified, only one instructions is executed. Just type the command T again to execute the next one. Examples: 1. Execute 4 instructions starting with the instruction at offset 0100: T=100 4 AX=0001 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000 DS=0AE7 ES=0AE7 SS=0AE7 CS=0AE7 IP=0103 NV UP EI PL NZ NA PO NC 0AE7:0103 BB0200 MOV BX,0002 AX=0001 BX=0002 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000 DS=0AE7 ES=0AE7 SS=0AE7 CS=0AE7 IP=0106 NV UP EI PL NZ NA PO NC
14 132 0AE7:0106 B90300 MOV CX,0003 AX=0001 BX=0002 CX=0003 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000 DS=0AE7 ES=0AE7 SS=0AE7 CS=0AE7 IP=0109 NV UP EI PL NZ NA PO NC 0AE7:0109 BA0400 MOV DX,0004 AX=0001 BX=0002 CX=0003 DX=0004 SP=FFEE BP=0000 SI=0000 DI=0000 DS=0AE7 ES=0AE7 SS=0AE7 CS=0AE7 IP=010C NV UP EI PL NZ NA PO NC 0AE7:010C 06 PUSH ES 2. Execute one instruction (at a time) starting with the instruction at offset 0100: T=100 AX=0001 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000 DS=0AE7 ES=0AE7 SS=0AE7 CS=0AE7 IP=0103 NV UP EI PL NZ NA PO NC 0AE7:0103 BB0200 MOV BX,0002 T AX=0001 BX=0002 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000 DS=0AE7 ES=0AE7 SS=0AE7 CS=0AE7 IP=0106 NV UP EI PL NZ NA PO NC 0AE7:0106 B90300 MOV CX, G <=address> <address1> <address2>... Execute machine language instructions in memory starting at <address>. <address1>, <address2>,... are called break points. A break point must be the address of the first byte of an instruction in the RAM. (Break points cannot be set in the ROM). Execution of the program stops at each break point and the control of the CPU is passed back to DEBUG. The contents of all registers are also displayed. Up to ten break points may be specified. If <=address> is not specified, the execution begins with the instruction at CS:IP. If there is no break point, the execution continues until an instruction that terminates the execution of the program is executed.
15 133 Examples: G =100 10A 110 Execute instructions starting at offset 0100 and stop at instruction at offset 010A G Execute instructions starting at offset 010A and stop at instruction at offset 0110 G Execute instructions starting at offset 0110 N <FileSpecification> Define (name) the file to be used in any subsequent LOAD/WRITE file command. W <address> Write (BX CX) number of bytes from memory starting at <address> to the file previously defined with the Name command. This command cannot be used to write.exe files. It is mostly used to save Debug programs into.com files. The length of the program in bytes must first be placed as a doubleword in the registers pair (BX CX). If <address> is not specified, the beginning address will be CS:100. Example: A 100 0AE7:0100 MOV AX, 1 0AE7:0103 MOV BX, 2 0AE7:0106 MOV CX, 3 0AE7:0109 MOV DX, 4 0AE7:010C INT 20 0AE7:010E N lab.com R BX BX 0000 :0 R CX CX 0000 :E W 100 Writing 0000E bytes (These bytes are written into the file LAB.COM).
16 134 L <address> Load a file from disk into the memory starting at <address>. The file must have been previously defined using the Name command. If <address> is not specified, nonexecutable files are loaded starting at address DS: Debug examines executable (.EXE and.com) files to determine how to load them. After a file has been loaded, Debug set the registers pair (BX CX) to a doubleword that corresponds to the number of bytes loaded from the file. Example: The program saved above in the file LAB.COM is reloaded in the memory starting at offset 0100: N LAB.COM L CS:100 R AX=0000 BX=0000 CX=000E DX=0000 SP=FFFE BP=0000 SI=0000 DI=0000 DS=0B2E ES=0B2E SS=0B2E CS=0B2E IP=0100 NV UP EI PL NZ NA PO NC 0B2E:0100 B80100 MOV AX,0001 U 100 LE 0B2E:0100 B80100 MOV AX,0001 0B2E:0103 BB0200 MOV BX,0002 0B2E:0106 B90300 MOV CX,0003 0B2E:0109 BA0400 MOV DX,0004 0B2E:010C CD20 INT 20 Q Quit Debug and return to the DOS prompt.
Using Debug 1 INTRODUCING DEBUG
Using Debug Copyright Prentice-Hall Publishing, 1999. All rights reserved B.1 Introducing Debug B.2 Debug Command Summary Command Parameters B.3 Individual Commands? (Help) A (Assemble) C (Compare) D (Dump)
More informationChapter 3: Operating-System Structures. System Components Operating System Services System Calls System Programs System Structure Virtual Machines
Chapter 3: Operating-System Structures System Components Operating System Services System Calls System Programs System Structure Virtual Machines Operating System Concepts 3.1 Common System Components
More informationBCD (ASCII) Arithmetic. Where and Why is BCD used? Packed BCD, ASCII, Unpacked BCD. BCD Adjustment Instructions AAA. Example
BCD (ASCII) Arithmetic We will first look at unpacked BCD which means strings that look like '4567'. Bytes then look like 34h 35h 36h 37h OR: 04h 05h 06h 07h x86 processors also have instructions for packed
More informationFaculty of Engineering Student Number:
Philadelphia University Student Name: Faculty of Engineering Student Number: Dept. of Computer Engineering Final Exam, First Semester: 2012/2013 Course Title: Microprocessors Date: 17/01//2013 Course No:
More informationChapter 14 MS-DOS Operating System
Understanding Operating Systems, Fifth Edition 14-1 Chapter 14 MS-DOS Operating System At a Glance Instructor s Manual Table of Contents Overview Objectives s Quick Quizzes Class Discussion Topics Additional
More informationUnpacked BCD Arithmetic. BCD (ASCII) Arithmetic. Where and Why is BCD used? From the SQL Server Manual. Packed BCD, ASCII, Unpacked BCD
BCD (ASCII) Arithmetic The Intel Instruction set can handle both packed (two digits per byte) and unpacked BCD (one decimal digit per byte) We will first look at unpacked BCD Unpacked BCD can be either
More informationASSEMBLY PROGRAMMING ON A VIRTUAL COMPUTER
ASSEMBLY PROGRAMMING ON A VIRTUAL COMPUTER Pierre A. von Kaenel Mathematics and Computer Science Department Skidmore College Saratoga Springs, NY 12866 (518) 580-5292 pvonk@skidmore.edu ABSTRACT This paper
More informationCS 3530 Operating Systems. L02 OS Intro Part 1 Dr. Ken Hoganson
CS 3530 Operating Systems L02 OS Intro Part 1 Dr. Ken Hoganson Chapter 1 Basic Concepts of Operating Systems Computer Systems A computer system consists of two basic types of components: Hardware components,
More informationFreescale Semiconductor, I
nc. Application Note 6/2002 8-Bit Software Development Kit By Jiri Ryba Introduction 8-Bit SDK Overview This application note describes the features and advantages of the 8-bit SDK (software development
More informationLECTURE-7. Introduction to DOS. Introduction to UNIX/LINUX OS. Introduction to Windows. Topics:
Topics: LECTURE-7 Introduction to DOS. Introduction to UNIX/LINUX OS. Introduction to Windows. BASIC INTRODUCTION TO DOS OPERATING SYSTEM DISK OPERATING SYSTEM (DOS) In the 1980s or early 1990s, the operating
More informationMICROPROCESSOR AND MICROCOMPUTER BASICS
Introduction MICROPROCESSOR AND MICROCOMPUTER BASICS At present there are many types and sizes of computers available. These computers are designed and constructed based on digital and Integrated Circuit
More informationExample of Standard API
16 Example of Standard API System Call Implementation Typically, a number associated with each system call System call interface maintains a table indexed according to these numbers The system call interface
More informationHardware and Software Requirements
C Compiler Real-Time OS Simulator Training Evaluation Boards Installing and Using the Keil Monitor-51 Application Note 152 May 31, 2000, Munich, Germany by Keil Support, Keil Elektronik GmbH support.intl@keil.com
More informationAppendix C: Keyboard Scan Codes
Thi d t t d ith F M k 4 0 2 Appendix C: Keyboard Scan Codes Table 90: PC Keyboard Scan Codes (in hex) Key Down Up Key Down Up Key Down Up Key Down Up Esc 1 81 [ { 1A 9A, < 33 B3 center 4C CC 1! 2 82 ]
More informationEmbedded Software development Process and Tools: Lesson-4 Linking and Locating Software
Embedded Software development Process and Tools: Lesson-4 Linking and Locating Software 1 1. Linker 2 Linker Links the compiled codes of application software, object codes from library and OS kernel functions.
More informationA+ Guide to Managing and Maintaining Your PC, 7e. Chapter 1 Introducing Hardware
A+ Guide to Managing and Maintaining Your PC, 7e Chapter 1 Introducing Hardware Objectives Learn that a computer requires both hardware and software to work Learn about the many different hardware components
More informationCHAPTER 6 TASK MANAGEMENT
CHAPTER 6 TASK MANAGEMENT This chapter describes the IA-32 architecture s task management facilities. These facilities are only available when the processor is running in protected mode. 6.1. TASK MANAGEMENT
More informationS7 for Windows S7-300/400
S7 for Windows S7-300/400 A Programming System for the Siemens S7 300 / 400 PLC s IBHsoftec has an efficient and straight-forward programming system for the Simatic S7-300 and ern controller concept can
More informationTopics. Introduction. Java History CS 146. Introduction to Programming and Algorithms Module 1. Module Objectives
Introduction to Programming and Algorithms Module 1 CS 146 Sam Houston State University Dr. Tim McGuire Module Objectives To understand: the necessity of programming, differences between hardware and software,
More informationCS3600 SYSTEMS AND NETWORKS
CS3600 SYSTEMS AND NETWORKS NORTHEASTERN UNIVERSITY Lecture 2: Operating System Structures Prof. Alan Mislove (amislove@ccs.neu.edu) Operating System Services Operating systems provide an environment for
More informationThe x86 PC: Assembly Language, Design, and Interfacing 5 th Edition
Online Instructor s Manual to accompany The x86 PC: Assembly Language, Design, and Interfacing 5 th Edition Muhammad Ali Mazidi Janice Gillispie Mazidi Danny Causey Prentice Hall Boston Columbus Indianapolis
More informationQuick Start Tutorial. Using the TASKING* Software Development Tools with the Intel 8x930 Family Evaluation Board
Quick Start Tutorial Using the TASKING* Software Development Tools with the Intel 8x930 Family Evaluation Board This explains how to use the TASKING Microsoft* Windows*-based software development tools
More informationUnderstanding the Boot Process and Command Line Chapter #3
Understanding the Boot Process and Command Line Chapter #3 Amy Hissom Key Terms 1. Active Partition the primary partition on the hard drive that boots the OS. Windows NT/2000/XP calls the active partition
More informationlesson 1 An Overview of the Computer System
essential concepts lesson 1 An Overview of the Computer System This lesson includes the following sections: The Computer System Defined Hardware: The Nuts and Bolts of the Machine Software: Bringing the
More informationCHAPTER 2: HARDWARE BASICS: INSIDE THE BOX
CHAPTER 2: HARDWARE BASICS: INSIDE THE BOX Multiple Choice: 1. Processing information involves: A. accepting information from the outside world. B. communication with another computer. C. performing arithmetic
More informationIntel Hexadecimal Object File Format Specification Revision A, 1/6/88
Intel Hexadecimal Object File Format Specification Revision A, 1/6/88 DISCLAIMER Intel makes no representation or warranties with respect to the contents hereof and specifically disclaims any implied warranties
More information#65 4GHGTGPEG")WKFG #FXCPEGF"6GTOKPCN"5QHVYCTG 8GTUKQP"502 HQT"%QPVTQNNGT/#% Catalog # 100123 Rev.02
#65 #FXCPEGF"6GTOKPCN"5QHVYCTG 8GTUKQP"502 HQT"%QPVTQNNGT/#% 4GHGTGPEG")WKFG Catalog # 100123 Rev.02 &RS\ULJKWý ý ýìääçñýìääåýe\ý(vkhgý5rerwhfýõìäåëôý/lplwhgï 2FWREHUýìääåýõ3')ýYHUVLRQô &DWDORJýúìííìëêý5HYïíë
More informationOperating System Structures
Operating System Structures Meelis ROOS mroos@ut.ee Institute of Computer Science Tartu University fall 2009 Literature A. S. Tanenbaum. Modern Operating Systems. 2nd ed. Prentice Hall. 2001. G. Nutt.
More informationGuest PC. for Mac OS X. User Guide. Version 1.6. Copyright 1996-2005 Lismore Software Systems, Ltd. All rights reserved.
Guest PC for Mac OS X Version 1.6 User Guide Copyright 1996-2005 Lismore Software Systems, Ltd. All rights reserved. Table of Contents About Guest PC... 1 About your Virtual Computer... 1 Creating a Virtual
More informationMICROPROCESSOR. Exclusive for IACE Students www.iace.co.in iacehyd.blogspot.in Ph: 9700077455/422 Page 1
MICROPROCESSOR A microprocessor incorporates the functions of a computer s central processing unit (CPU) on a single Integrated (IC), or at most a few integrated circuit. It is a multipurpose, programmable
More informationComputer Engineering
Computer Engineering Unit Value 3.0 (typically 180 hours for a full-time course) This standard unit is primarily for use by the Technical Institutes when operating the following Courses : Diploma in Computer
More informationOutline: Operating Systems
Outline: Operating Systems What is an OS OS Functions Multitasking Virtual Memory File Systems Window systems PC Operating System Wars: Windows vs. Linux 1 Operating System provides a way to boot (start)
More informationHow To Port A Program To Dynamic C (C) (C-Based) (Program) (For A Non Portable Program) (Un Portable) (Permanent) (Non Portable) C-Based (Programs) (Powerpoint)
TN203 Porting a Program to Dynamic C Introduction Dynamic C has a number of improvements and differences compared to many other C compiler systems. This application note gives instructions and suggestions
More informationChapter 3: Operating-System Structures. Common System Components
Chapter 3: Operating-System Structures System Components Operating System Services System Calls System Programs System Structure Virtual Machines System Design and Implementation System Generation 3.1
More informationOperating System Software
Operating System Software Lecture 7 The operating system Defines our computing experience. First software we see when we turn on the computer, and the last software we see when the computer is turned off.
More informationHexadecimal Object File Format Specification
Hexadecimal Object File Format Specification Revision A January 6, 1988 This specification is provided "as is" with no warranties whatsoever, including any warranty of merchantability, noninfringement,
More informationFall 2009. Lecture 1. Operating Systems: Configuration & Use CIS345. Introduction to Operating Systems. Mostafa Z. Ali. mzali@just.edu.
Fall 2009 Lecture 1 Operating Systems: Configuration & Use CIS345 Introduction to Operating Systems Mostafa Z. Ali mzali@just.edu.jo 1-1 Chapter 1 Introduction to Operating Systems An Overview of Microcomputers
More informationELEC 377. Operating Systems. Week 1 Class 3
Operating Systems Week 1 Class 3 Last Class! Computer System Structure, Controllers! Interrupts & Traps! I/O structure and device queues.! Storage Structure & Caching! Hardware Protection! Dual Mode Operation
More informationOPERATING SYSTEM SERVICES
OPERATING SYSTEM SERVICES USER INTERFACE Command line interface(cli):uses text commands and a method for entering them Batch interface(bi):commands and directives to control those commands are entered
More informationChapter 3 Operating-System Structures
Contents 1. Introduction 2. Computer-System Structures 3. Operating-System Structures 4. Processes 5. Threads 6. CPU Scheduling 7. Process Synchronization 8. Deadlocks 9. Memory Management 10. Virtual
More information3. Programming the STM32F4-Discovery
1 3. Programming the STM32F4-Discovery The programming environment including the settings for compiling and programming are described. 3.1. Hardware - The programming interface A program for a microcontroller
More informationParts of a Computer. Preparation. Objectives. Standards. Materials. 1 1999 Micron Technology Foundation, Inc. All Rights Reserved
Parts of a Computer Preparation Grade Level: 4-9 Group Size: 20-30 Time: 75-90 Minutes Presenters: 1-3 Objectives This lesson will enable students to: Identify parts of a computer Categorize parts of a
More informationDEPARTMENT OF COMPUTER SCIENCE & ENGINEERING Question Bank Subject Name: EC6504 - Microprocessor & Microcontroller Year/Sem : II/IV
DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING Question Bank Subject Name: EC6504 - Microprocessor & Microcontroller Year/Sem : II/IV UNIT I THE 8086 MICROPROCESSOR 1. What is the purpose of segment registers
More informationOperating Systems. and Windows
Operating Systems and Windows What is an Operating System? The most important program that runs on your computer. It manages all other programs on the machine. Every PC has to have one to run other applications
More informationDUKANE Intelligent Assembly Solutions
PC Configuration Requirements: Configuration Requirements for ipc Operation The hardware and operating system of the PC must comply with a list of minimum requirements for proper operation with the ipc
More informationEmbedded Software development Process and Tools:
Embedded Software development Process and Tools: Lesson-2 Integrated Development Environment (IDE) 1 1. IDE 2 Consists of Simulators editors, compilers, assemblers, etc., IDE 3 emulators logic analyzers
More informationOperating System Structures
COP 4610: Introduction to Operating Systems (Spring 2015) Operating System Structures Zhi Wang Florida State University Content Operating system services User interface System calls System programs Operating
More informationBachelors of Computer Application Programming Principle & Algorithm (BCA-S102T)
Unit- I Introduction to c Language: C is a general-purpose computer programming language developed between 1969 and 1973 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating
More informationPC Assembly Language. Paul A. Carter
PC Assembly Language Paul A. Carter November 20, 2001 Copyright c 2001 by Paul Carter This may be reproduced and distributed in its entirety (including this authorship, copyright and permission notice),
More informationSKP16C62P Tutorial 1 Software Development Process using HEW. Renesas Technology America Inc.
SKP16C62P Tutorial 1 Software Development Process using HEW Renesas Technology America Inc. 1 Overview The following tutorial is a brief introduction on how to develop and debug programs using HEW (Highperformance
More informationCPS221 Lecture: Operating System Structure; Virtual Machines
Objectives CPS221 Lecture: Operating System Structure; Virtual Machines 1. To discuss various ways of structuring the operating system proper 2. To discuss virtual machines Materials: 1. Projectable of
More informationOperating System Overview. Otto J. Anshus
Operating System Overview Otto J. Anshus A Typical Computer CPU... CPU Memory Chipset I/O bus ROM Keyboard Network A Typical Computer System CPU. CPU Memory Application(s) Operating System ROM OS Apps
More informationAn Implementation Of Multiprocessor Linux
An Implementation Of Multiprocessor Linux This document describes the implementation of a simple SMP Linux kernel extension and how to use this to develop SMP Linux kernels for architectures other than
More informationAdapting the PowerPC 403 ROM Monitor Software for a 512Kb Flash Device
Adapting the PowerPC 403 ROM Monitor Software for a 512Kb Flash Device IBM Microelectronics Dept D95/Bldg 060 3039 Cornwallis Road Research Triangle Park, NC 27709 Version: 1 December 15, 1997 Abstract
More informationChapter 3. Operating Systems
Christian Jacob Chapter 3 Operating Systems 3.1 Evolution of Operating Systems 3.2 Booting an Operating System 3.3 Operating System Architecture 3.4 References Chapter Overview Page 2 Chapter 3: Operating
More information8. MACROS, Modules, and Mouse
8. MACROS, Modules, and Mouse Background Macros, Modules and the Mouse is a combination of concepts that will introduce you to modular programming while learning how to interface with the mouse. Macros
More informationObjectives. Chapter 2: Operating-System Structures. Operating System Services (Cont.) Operating System Services. Operating System Services (Cont.
Objectives To describe the services an operating system provides to users, processes, and other systems To discuss the various ways of structuring an operating system Chapter 2: Operating-System Structures
More informationTibetan For Windows - Software Development and Future Speculations. Marvin Moser, Tibetan for Windows & Lucent Technologies, USA
Tibetan For Windows - Software Development and Future Speculations Marvin Moser, Tibetan for Windows & Lucent Technologies, USA Introduction This paper presents the basic functions of the Tibetan for Windows
More informationComputer Systems Design and Architecture by V. Heuring and H. Jordan
1-1 Chapter 1 - The General Purpose Machine Computer Systems Design and Architecture Vincent P. Heuring and Harry F. Jordan Department of Electrical and Computer Engineering University of Colorado - Boulder
More informationUse of Simulator in Teaching Introductory Computer Engineering*
Int. J. Engng Ed. Vol. 15, No. 5, pp. 353±357, 1999 0949-149X/91 $3.00+0.00 Printed in Great Britain. # 1999 TEMPUS Publications. Use of Simulator in Teaching Introductory Computer Engineering* DAVID EDWARDS
More informationa storage location directly on the CPU, used for temporary storage of small amounts of data during processing.
CS143 Handout 18 Summer 2008 30 July, 2008 Processor Architectures Handout written by Maggie Johnson and revised by Julie Zelenski. Architecture Vocabulary Let s review a few relevant hardware definitions:
More informationUT69R000 MicroController Software Tools Product Brief
Military Standard Products UT69R000 MicroController Software Tools Product Brief July 1996 Introduction The UT69R000 MicroController Software Tools consist of a C Compiler (GCC), a RISC assembler (), a
More informationLesson 06: Basics of Software Development (W02D2
Lesson 06: Basics of Software Development (W02D2) Balboa High School Michael Ferraro Lesson 06: Basics of Software Development (W02D2 Do Now 1. What is the main reason why flash
More informationMACHINE ARCHITECTURE & LANGUAGE
in the name of God the compassionate, the merciful notes on MACHINE ARCHITECTURE & LANGUAGE compiled by Jumong Chap. 9 Microprocessor Fundamentals A system designer should consider a microprocessor-based
More informationIn-System Programmer USER MANUAL RN-ISP-UM RN-WIFLYCR-UM-.01. www.rovingnetworks.com 1
RN-WIFLYCR-UM-.01 RN-ISP-UM In-System Programmer 2012 Roving Networks. All rights reserved. Version 1.1 1/19/2012 USER MANUAL www.rovingnetworks.com 1 OVERVIEW You use Roving Networks In-System-Programmer
More informationIntroduction. What is an Operating System?
Introduction What is an Operating System? 1 What is an Operating System? 2 Why is an Operating System Needed? 3 How Did They Develop? Historical Approach Affect of Architecture 4 Efficient Utilization
More informationMachine Architecture and Number Systems. Major Computer Components. Schematic Diagram of a Computer. The CPU. The Bus. Main Memory.
1 Topics Machine Architecture and Number Systems Major Computer Components Bits, Bytes, and Words The Decimal Number System The Binary Number System Converting from Decimal to Binary Major Computer Components
More informationLecture 7: Machine-Level Programming I: Basics Mohamed Zahran (aka Z) mzahran@cs.nyu.edu http://www.mzahran.com
CSCI-UA.0201-003 Computer Systems Organization Lecture 7: Machine-Level Programming I: Basics Mohamed Zahran (aka Z) mzahran@cs.nyu.edu http://www.mzahran.com Some slides adapted (and slightly modified)
More informationChapter 2 System Structures
Chapter 2 System Structures Operating-System Structures Goals: Provide a way to understand an operating systems Services Interface System Components The type of system desired is the basis for choices
More informationAQA GCSE in Computer Science Computer Science Microsoft IT Academy Mapping
AQA GCSE in Computer Science Computer Science Microsoft IT Academy Mapping 3.1.1 Constants, variables and data types Understand what is mean by terms data and information Be able to describe the difference
More informationThe Windows Shortcut File Format as reverse-engineered by Jesse Hager jessehager@iname.com Document Version 1.0
Disclaimer The Windows Shortcut File Format as reverse-engineered by Jesse Hager jessehager@iname.com Document Version 1.0 This document is provided AS-IS basis, without any warranties or representations
More informationMotorola 8- and 16-bit Embedded Application Binary Interface (M8/16EABI)
Motorola 8- and 16-bit Embedded Application Binary Interface (M8/16EABI) SYSTEM V APPLICATION BINARY INTERFACE Motorola M68HC05, M68HC08, M68HC11, M68HC12, and M68HC16 Processors Supplement Version 2.0
More informationUsing C to Access Data Stored in Program Space Memory on the TMS320C24x DSP
Application Report SPRA380 April 2002 Using C to Access Data Stored in Program Space Memory on the TMS320C24x DSP David M. Alter DSP Applications - Semiconductor Group ABSTRACT Efficient utilization of
More informationParallax Serial LCD 2 rows x 16 characters Non-backlit (#27976) 2 rows x 16 characters Backlit (#27977) 4 rows x 20 characters Backlit (#27979)
599 Menlo Drive, Suite 100 Rocklin, California 95765, USA Office: (916) 624-8333 Fax: (916) 624-8003 General: info@parallax.com Technical: support@parallax.com Web Site: www.parallax.com Educational: www.stampsinclass.com
More informationKeil Debugger Tutorial
Keil Debugger Tutorial Yifeng Zhu December 17, 2014 Software vs Hardware Debug There are two methods to debug your program: software debug and hardware debug. By using the software debug, you do not have
More informationThe Hexadecimal Number System and Memory Addressing
APPENDIX C The Hexadecimal Number System and Memory Addressing U nderstanding the number system and the coding system that computers use to store data and communicate with each other is fundamental to
More informationPART B QUESTIONS AND ANSWERS UNIT I
PART B QUESTIONS AND ANSWERS UNIT I 1. Explain the architecture of 8085 microprocessor? Logic pin out of 8085 microprocessor Address bus: unidirectional bus, used as high order bus Data bus: bi-directional
More informationOperating system Dr. Shroouq J.
3 OPERATING SYSTEM STRUCTURES An operating system provides the environment within which programs are executed. The design of a new operating system is a major task. The goals of the system must be well
More informationCompiler Construction
Compiler Construction Lecture 1 - An Overview 2003 Robert M. Siegfried All rights reserved A few basic definitions Translate - v, a.to turn into one s own language or another. b. to transform or turn from
More informationTraditional IBM Mainframe Operating Principles
C H A P T E R 1 7 Traditional IBM Mainframe Operating Principles WHEN YOU FINISH READING THIS CHAPTER YOU SHOULD BE ABLE TO: Distinguish between an absolute address and a relative address. Briefly explain
More informationPhoenix Technologies Ltd.
PC Division Desktop Product Line Subject: Standard BIOS 32-bit Service Directory Proposal Revision: 0.4 Revision Date: June 22, 1993 Document ID: Author: ATBIOS Thomas C. Block Origin Date: May 24, 1993
More informationRemote Access Server - Dial-Out User s Guide
Remote Access Server - Dial-Out User s Guide 95-2345-05 Copyrights IBM is the registered trademark of International Business Machines Corporation. Microsoft, MS-DOS and Windows are registered trademarks
More informationMICROPROCESSOR BCA IV Sem MULTIPLE CHOICE QUESTIONS
MICROPROCESSOR BCA IV Sem MULTIPLE CHOICE QUESTIONS 1) Which is the microprocessor comprises: a. Register section b. One or more ALU c. Control unit 2) What is the store by register? a. data b. operands
More informationUTILITY INSTRUCTION MANUAL BNP-B2196 (ENG)
UTILITY INSTRUCTION MANUAL BNP-B2196 (ENG) MELDASMAGIC is a registered trademark of Mitsubishi Electric Corporation. Microsoft and Windows are registered trademark of Microsoft Corporation in the USA.
More informationERC-to-MRC JOB TRANSLATOR MANUAL
Yasnac MRC Controller ERC-to-MRC JOB TRANSLATOR MANUAL Part Number 133110-1 Yasnac MRC Controller ERC-to-MRC Job Translator Manual Part Number 133110-1 June 13, 1995 MOTOMAN 805 Liberty Lane West Carrollton,
More informationChapter 6, The Operating System Machine Level
Chapter 6, The Operating System Machine Level 6.1 Virtual Memory 6.2 Virtual I/O Instructions 6.3 Virtual Instructions For Parallel Processing 6.4 Example Operating Systems 6.5 Summary Virtual Memory General
More informationAdvanced Computer Architecture-CS501. Computer Systems Design and Architecture 2.1, 2.2, 3.2
Lecture Handout Computer Architecture Lecture No. 2 Reading Material Vincent P. Heuring&Harry F. Jordan Chapter 2,Chapter3 Computer Systems Design and Architecture 2.1, 2.2, 3.2 Summary 1) A taxonomy of
More informationSoftware: Systems and Application Software
Software: Systems and Application Software Computer Software Operating System Popular Operating Systems Language Translators Utility Programs Applications Programs Types of Application Software Personal
More informationPARTNER ACS R4.0 Remote Administration R4.0. Getting Started
PARTNER ACS R.0 Remote Administration R.0 Getting Started 8-6-66 700080 Issue May 00 Copyright 00, Avaya Inc. Document 8-6-66 All Rights Reserved 700080 Printed in USA Issue May 00 Notice Every effort
More information2 ASCII TABLE (DOS) 3 ASCII TABLE (Window)
1 ASCII TABLE 2 ASCII TABLE (DOS) 3 ASCII TABLE (Window) 4 Keyboard Codes The Diagram below shows the codes that are returned when a key is pressed. For example, pressing a would return 0x61. If it is
More informationModel 288B Charge Plate Graphing Software Operators Guide
Monroe Electronics, Inc. Model 288B Charge Plate Graphing Software Operators Guide P/N 0340175 288BGraph (80207) Software V2.01 100 Housel Ave PO Box 535 Lyndonville NY 14098 1-800-821-6001 585-765-2254
More informationR A D I O N I C S. READYKEY K6100 Readykey for Windows Software Installation Manual. 17242 Ver. 5.0
R A D I O N I C S READYKEY K6100 Readykey for Windows Software Installation Manual 17242 Ver. 5.0 74-07046-000-E 01/99 1999 Radionics Notice The material and instructions in this manual have been carefully
More informationComputer Basics: Chapters 1 & 2
Computer Basics: Chapters 1 & 2 Definition of a Computer What does IPOS stand for? Input Process Output Storage Other types of Computers Name some examples of other types of computers, other than a typical
More informationUsing Example Projects, Code and Scripts to Jump-Start Customers With Code Composer Studio 2.0
Application Report SPRA766 - June 2001 Using Example Projects, Code and Scripts to Jump-Start Customers With Code Composer Studio 2.0 Steve White, Senior Applications Code Composer Studio, Applications
More informationBuilding Applications Using Micro Focus COBOL
Building Applications Using Micro Focus COBOL Abstract If you look through the Micro Focus COBOL documentation, you will see many different executable file types referenced: int, gnt, exe, dll and others.
More informationSOFTUNE REALOS CONFIGURATOR MANUAL
FUJITSU SEMICONDUCTOR CONTROLLER MANUAL CM71-00322-2E FR FAMILY F²MC FAMILY IN CONFORMANCE WITH µitron SPECIFICATIONS SOFTUNE REALOS CONFIGURATOR MANUAL FR FAMILY F²MC FAMILY IN CONFORMANCE WITH µitron
More informationFlash Microcontroller. Memory Organization. Memory Organization
The information presented in this chapter is collected from the Microcontroller Architectural Overview, AT89C51, AT89LV51, AT89C52, AT89LV52, AT89C2051, and AT89C1051 data sheets of this book. The material
More informationQuick Installation. A Series of Intelligent Bar Code Reader with NeuroFuzzy Decoding. Quick Installation
Quick Installation A Series of Intelligent Bar Code Reader with NeuroFuzzy Decoding This chapter intends to get your new FuzzyScan scanner working with your existing system within minutes. General instructions
More informationPython Programming: An Introduction to Computer Science
Python Programming: An Introduction to Computer Science Chapter 1 Computers and Programs 1 The Universal Machine n A computer -- a machine that stores and manipulates information under the control of a
More information