1. Assembly Programming & Machine Code

Size: px
Start display at page:

Download "1. Assembly Programming & Machine Code"

Transcription

1 FIU - DEPARTMENT OF ELECTRICAL AND COMPUTER ENGINEERING 1. Assembly Programming & Machine Code EEL 4746L - Microcomputers - I Lab

2 Aim: Understanding the basics of assembly programming and machine code by writing a program to display a string in both assembly language and machine code. Background: All the digital computing devices or the micro-computers viz., the micro-controllers (µc) and the micro-processors (µp) understand and perform operations based on the binary codes defined internally by their manufacturers. These codes which the device can understand and work accordingly are referred to as instruction codes. Processor chips are often categorized by the quantity and type of instruction codes they support. Though the instruction codes might differ from one device to the other, the instruction code handling remains the same. For such a device to perform any job, the instructions are given in binary format known as opcodes which constructs the machine language. These opcodes are stored in memory locations (can be either internal or external RAM or ROM). The instruction pointer (IP) is the register that points to the memory location of the next instruction. The 8086 has 8 general-purpose registers, each of which is 16 bits wide. AX (Accumulator): Most arithmetic and logical computations use this register BX (Base Reg): Normally used to store base addresses (later) CX (Count Reg): Used for counting purposes, like number of iterations while looping, number of characters in a string, etc. DX (Data Reg): a true general purpose register. SI (Source Index): Used as a pointer to access memory indirectly DI (Dest. Index): Like the SI register, this is also used for indirectly accessing the memory BP (Base Pointer): Like the BX register, this is also used to store base addresses. Generally, this register is used to access local variables in a procedure. SP (Stack Pointer): A very important register. Maintains the program stack, and so should be used carefully. Each of these 16-bit registers can be divided into two 8-bit wide register blocks that can be used individually. 2. Segment Registers The 8086 has 4 special segment 16-bit registers that deal with selecting blocks (segments) of the memory. The CS (Code Segment) registers points at the segment containing the currently executing machine instructions. Since you can change the value of the DS register, you can switch to a new code segment when you want to execute the code located there. The DS (Data Segment) register generally points at global variables for the program. You can change the value of the DS register to access additional data in other segments. 2

3 The ES (Extra Segment) register is an extra segment register programs often use this segment register to gain access to segments when it is difficult or impossible to modify the other segment registers. The SS (Stack Segment) register points at the segment containing the 8086 stack. The stack is where the 8086 stores important machine state information, subroutine return addresses, procedure parameters, and local variables. In general, you do not modify the stack segment register because too many things in the system depend upon it. 3. Special Purpose Registers There are two special purpose registers on the 8086, i.e. the instruction pointer (IP) and the flag register. The IP is sometimes referred to as the PC (program counter). These registers cannot be accessed directly; rather, they are modified by the CPU during execution. The IP contains the address of the instruction being executed currently. This address is the offset within the code segment, specified by the CS register. The flag register is a collection of 1-bit values that hold information regarding the state of the system. Though it is a 16-bit register, only 9 of those bits are used. For most practical purposes, only 4 flags are used: zero, carry, sign and overflow. Segmentation The 8086 is a 16-bit processor, with 16-bit registers and hence the address space which can be accessed is 2 16 bits (i.e. 64 kilobytes). But with the clever use of segmentation, the address space can be expanded to 1 Megabyte. Though 1 Megabyte seems very small in today's context, in those days, it was a lot of memory (especially since the cost of making physical memory was exorbitant). Before we start with segmentation, let us look at the way in which the address computation is done in the 8086: To provide flexible addressing capabilities, a data address may be formed by adding together a combination of BX or BP contents, SI or DI contents and a displacement. (This we will see in detail, when we cover addressing modes). The result of such a computation is called the offset or the effective address (EA). The final address is determined by the EA and the appropriate data segment (DS), extra segment (ES) or stack segment (SS) register. Segmentation provides a powerful mechanism to manage memory. Programmers tend to partition their program into logically independent modules. With segmentation, this logical partitioning can be extended to keep these modules in physically independent sections (called segments). Segmentation also allows two programs to share memory. The effective address is a 16-bit value. However, to address 1 MB, there are 20 bits in the physical address. Where do these extra 4 bits come from? They are obtained from the segment register (to which the EA is added). The addition is carried out by appending four 0 bits to the value of the segment register, before adding, thereby producing a 20-bit result. This is shown in the figure below. Therefore, an address on the 8086 is written as segment: offset. The size of the offset 3

4 (16-bits) limits the size of each segment to 64K. The number of segments is also limited to 65,536 segments per program, but this is not a practical limitation, since there are typically only a dozen segments in a program. The use of segmentation typically divides the memory into overlapping segments, with each segment being 64K bytes long and beginning at a 16-byte boundary. Summarizing segmentation, the advantages are: Allows memory capacity to be 1 MB, though the address associated with each instruction is only 16 bits long. Allows the instruction, data or stack segment of a program to be more that 64K, by using multiple code segments (or data/stack segments). Facilitate the use of separate memory areas for a program, its data, its stack, etc. One of the reasons why segmentation is not a very popular concept among programmers is that it is very difficult to access more than 256K of memory at once. This limitation is because there are only segment registers. Accessing more than 256K requires quite a bit of bookkeeping. The general structure of an instruction in assembly programming is: Label Operator Operand[s] ;Comment Label - optional alphanumeric string 1st character must be a-z, A-Z,?,@,_,$ Last character must be : Operator - assembler language instruction mnemonic an instruction format for humans assembler translates mnemonic into hexadecimal opcode example mov is f8h Operand[s] - 0 to 3 pieces of data required by instruction can be several different forms delineated by commas immediate, register name, memory data, memory address Comment - Extremely useful in assembler language 4

5 Compiler: To execute any assembly program, the program first has to be converted to binary format using opcodes understandable by the µc/µp. For this, we use the open-source software NASM available for free download from rc6-dos.zip. We will write, compile and execute our programs from the MS-DOS command prompt. Steps to set-up the folder on H-drive: 1. Log-on to any computer connected to FIU Novell network (e.g., in EIC labs and the micros lab). 5

6 2. Open the H drive in windows explorer and create a folder called Micros (or any other name). 3. From the downloaded ZIP file, copy the nasm.exe file to the folder created in step We will now work in this folder to work on our programs. Steps to write a program: You can write your program using any text editing software available for Windows OS or DOS that you feel comfortable with e.g., the edit program, notepad or wordpad or notepad++. But, the compilation and execution have to be performed in the command prompt. The following are the steps you can follow to write your program in the command prompt itself. 1. On Windows XP, click on START button on bottom left corner of the screen and click RUN. There, type cmd and click open. On Windows Vista, click on START and type cmd in the search box. In the results box, you will see the program with a black icon. Click on it to open it. 2. Type H: or the drive letter that you are using and press ENTER 3. Then type cd <foldername> and press ENTER to change into that folder 4. To create/edit a file, type edit <filename>.asm and press ENTER. You will now see a blue screen where you can type your program. When done, click FILE SAVE and FILE EXIT in sequence or FILE EXIT and it will ask you if the changes have to be saved. Do accordingly and you will get back to the DOS prompt. Steps to compile a program: The compiler that we will be using is the NASM compiler that stands for Netwide ASseMbler. To compile the assembly program to a DOS executable binary file, use the following syntax: nasm -f bin <filename>.asm -o <filename>.com You will then see a new executable file created in the folder using windows explorer. To execute it, simply type its name in the DOS prompt and press ENTER. 6

7 Home Work: (Preparation before the lab) The instruction set for Intel 8086 processor is included in the IC datasheet from page 26 to 30 and you are expected to go though the instructions and understand what registers they affect. Please note that you are NOT expected to know all. Review some basic MS-DOS commands like dir, mkdir, cd, delete, copy con, copy and move to get familiarized with the DOS environment. Program: org 0100h mov dx, msg mov ah, 09h int 21h mov ah, 4ch int 21h msg db Micros Lab, $ Generate the program table: 1. Knowing the mnemonic: A mnemonic is the instruction with its operands; for example, consider the mnemonic mov dx, msg. Here, the instruction is mov and the operands are dx and msg. The first operand is a 16-bit (2 byte) general purpose register and the second operand is the first memory location (also 16-bit) of the data. Similarly, for the mnemonic mov ah, 4ch the instruction is again mov the first operand is now the higher 8-bits of the accumulator and the second operand is an 8-bit hexadecimal data. 2. Generating the opcode: Once the mnemonic, its instruction and operands are understood, we are ready to find its binary code that the processor can understand. This binary format of the mnemonic that the processor understands is called the opcode for the mnemonic. For this, we refer to the chip designer s specifications given in the chip datasheet. Since we are programming for Intel 8086 µp, we refer to the chip s datasheet. Let us find the opcodes for the following two mnemonics: (a) mov dx, 0240h: (i) This mnemonic is a move instruction where the second operand (source) is a 16-bit data (a memory location, for example) and the first operand (the destination) is a 16- bit general-purpose register. From the table 2 of the datasheet (page numbers 26-30), we look for the instruction mov. We can see that the opcode changes for different combination of source and destination. In our case, it is 16-bit immediate (data) to 16-bit register (other than accumulator). Hence, the opcode format, according to the table will be where each of the blocks is of 8-bits. 7

8 1011 w reg data data if w=1 From the notes given at the end of the table, we understand that the first four bits 1011 define the kind of mnemonic for the µp to understand and expect what is coming up next. w=0 defines 8-bit information and w=1 defines 16-bit information. In our case, it should be 1 because we are dealing with 16-bit operands reg data data if w=1 (ii) Similarly, reg has to be replaced by binary equivalent for the destination register and from the tables, DX= data data if w=1 (iii) We now insert the 16-bit data in each of the successive 2 bytes (lower byte) (upper byte) This is the opcode for the above mnemonic. For simplicity, we represent it using hexadecimal system. B A (iv) Now, the amount of memory space required to complete the instruction is 3-bytes. This is called the length of the mnemonic. Hence, if the instruction starts at a memory location 0100H, the next instruction will start at 0100H + 3bytes = 0103H. When the opcode is fetched, the value of the IP register will be 0103H where the next instruction begins. (b) mov bl, byte [msg+1] i. This instruction reads the contents of memory location 1 byte after the location pointed by msg. the instruction is mov, the first operand is lower byte of a general purpose register and the data read from memory is a byte. Here, the second operand is an indirect addressing mode wherein we are giving 1byte of immediate data from a memory location and storing it in a general purpose register. The opcode format is: disp (lower byte disp (upper byte d w mod reg r/m ii. Again from the tables, we observe that if transfer is TO a register, d=1; if the transfer is FROM a register, d=0. In the present case, d=1. Since the data that will be transferred is from a memory location and since the data is 8-bit long, w=0. disp (lower byte disp (upper byte mod reg r/m iii. The mod field (2 bits) gives the length of the displacement field: 00 means no displacement, 01 means one byte, and 10 means two bytes. Now, the register we are using is the 8-bit wide BL with reg=011. The value for r/m is chosen such that the processor will look for the memory location in the next two bytes and take it as the effective address without any offset. Hence, we choose r/m=110; read the footnote in the manual disp (lower byte disp (upper byte 8

9 iv. Now, we give the displacement bytes. To give the displacement bytes, we need to know where our data will be stored. If the base address of data segment is provided, that will be the first address of the first byte referred by msg. If undeclared, assume the data segment at the end of the program instructions v. Finish writing the opcodes for the mnemonics and consider keep track of memory locations. The present mnemonic takes up 4-bytes of memory to complete the instruction in the table. When the complete opcodes and memory locations are figured out, we can start allocating the memory for data and complete the unfilled memory locations in the opcode. Assuming that our data segment starts at location 12DH, the completed opcode is: 8 A 1 E 2 D 0 1 Update the table with the new opcode. Report: 1. Background about the program with a flowchart 2. Prepare a table in the following format and enter the data for each instruction Memory Address Mnemonic Opcode Description The memory address is the starting location of the instruction. Mnemonic is the assembly language instruction. Opcode is the opcode of the instruction that you create using the instruction set. Description should tell a reader the importance/job of the instruction. 3. The program; both the one included in this file and the modified one that we used to put the second part of the name on the next line. Include the outputs by using the screen capture method. 4. Include your conclusions from the two experiments. Reference: 1. Professional Assembly Language by Blum, Richard (available online on FIU NetLibrary) 9

MICROPROCESSOR AND MICROCOMPUTER BASICS

MICROPROCESSOR 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 information

8. MACROS, Modules, and Mouse

8. 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 information

Faculty of Engineering Student Number:

Faculty 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 information

Advanced Computer Architecture-CS501. Computer Systems Design and Architecture 2.1, 2.2, 3.2

Advanced 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 information

MICROPROCESSOR BCA IV Sem MULTIPLE CHOICE QUESTIONS

MICROPROCESSOR 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 information

Lecture 7: Machine-Level Programming I: Basics Mohamed Zahran (aka Z) mzahran@cs.nyu.edu http://www.mzahran.com

Lecture 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 information

(Refer Slide Time: 00:01:16 min)

(Refer Slide Time: 00:01:16 min) Digital Computer Organization Prof. P. K. Biswas Department of Electronic & Electrical Communication Engineering Indian Institute of Technology, Kharagpur Lecture No. # 04 CPU Design: Tirning & Control

More information

Outline. Lecture 3. Basics. Logical vs. physical memory. 8086 physical memory. x86 byte ordering

Outline. Lecture 3. Basics. Logical vs. physical memory. 8086 physical memory. x86 byte ordering Outline Lecture 3 bout Memory ddressing memory Data types MOV instruction ddressing modes Instruction format Dr. Dimitrios S. Nikolopoulos SL/UIU Basics Logical vs. physical memory Memory in the x processors

More information

BCD (ASCII) Arithmetic. Where and Why is BCD used? Packed BCD, ASCII, Unpacked BCD. BCD Adjustment Instructions AAA. Example

BCD (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 information

MACHINE ARCHITECTURE & LANGUAGE

MACHINE 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 information

S7 for Windows S7-300/400

S7 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 information

ASSEMBLY PROGRAMMING ON A VIRTUAL COMPUTER

ASSEMBLY 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 information

ASSEMBLY LANGUAGE PROGRAMMING (6800) (R. Horvath, Introduction to Microprocessors, Chapter 6)

ASSEMBLY LANGUAGE PROGRAMMING (6800) (R. Horvath, Introduction to Microprocessors, Chapter 6) ASSEMBLY LANGUAGE PROGRAMMING (6800) (R. Horvath, Introduction to Microprocessors, Chapter 6) 1 COMPUTER LANGUAGES In order for a computer to be able to execute a program, the program must first be present

More information

Instruction Set Architecture (ISA)

Instruction Set Architecture (ISA) Instruction Set Architecture (ISA) * Instruction set architecture of a machine fills the semantic gap between the user and the machine. * ISA serves as the starting point for the design of a new machine

More information

MICROPROCESSOR. Exclusive for IACE Students www.iace.co.in iacehyd.blogspot.in Ph: 9700077455/422 Page 1

MICROPROCESSOR. 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 information

a storage location directly on the CPU, used for temporary storage of small amounts of data during processing.

a 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 information

Notes on Assembly Language

Notes on Assembly Language Notes on Assembly Language Brief introduction to assembly programming The main components of a computer that take part in the execution of a program written in assembly code are the following: A set of

More information

The x86 PC: Assembly Language, Design, and Interfacing 5 th Edition

The 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 information

Unpacked BCD Arithmetic. BCD (ASCII) Arithmetic. Where and Why is BCD used? From the SQL Server Manual. Packed BCD, ASCII, Unpacked BCD

Unpacked 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 information

CPU Organization and Assembly Language

CPU Organization and Assembly Language COS 140 Foundations of Computer Science School of Computing and Information Science University of Maine October 2, 2015 Outline 1 2 3 4 5 6 7 8 Homework and announcements Reading: Chapter 12 Homework:

More information

what operations can it perform? how does it perform them? on what kind of data? where are instructions and data stored?

what operations can it perform? how does it perform them? on what kind of data? where are instructions and data stored? Inside the CPU how does the CPU work? what operations can it perform? how does it perform them? on what kind of data? where are instructions and data stored? some short, boring programs to illustrate the

More information

Comp 255Q - 1M: Computer Organization Lab #3 - Machine Language Programs for the PDP-8

Comp 255Q - 1M: Computer Organization Lab #3 - Machine Language Programs for the PDP-8 Comp 255Q - 1M: Computer Organization Lab #3 - Machine Language Programs for the PDP-8 January 22, 2013 Name: Grade /10 Introduction: In this lab you will write, test, and execute a number of simple PDP-8

More information

Machine Programming II: Instruc8ons

Machine Programming II: Instruc8ons Machine Programming II: Instrucons Move instrucons, registers, and operands Complete addressing mode, address computaon (leal) Arithmec operaons (including some x6 6 instrucons) Condion codes Control,

More information

Computer Organization and Architecture

Computer Organization and Architecture Computer Organization and Architecture Chapter 11 Instruction Sets: Addressing Modes and Formats Instruction Set Design One goal of instruction set design is to minimize instruction length Another goal

More information

CPU Organisation and Operation

CPU Organisation and Operation CPU Organisation and Operation The Fetch-Execute Cycle The operation of the CPU 1 is usually described in terms of the Fetch-Execute cycle. 2 Fetch-Execute Cycle Fetch the Instruction Increment the Program

More information

DEPARTMENT 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 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 information

Outlook to Windows Live Mail

Outlook to Windows Live Mail Overview... 20-01 Learning Objectives... 20-01 Transfer Software... 20-01 System Requirements... 20-02 Application Loading... 20-02 Software Installation... 20-03 Migration Process on the Old PC... 20-05

More information

State of Michigan Data Exchange Gateway. Web-Interface Users Guide 12-07-2009

State of Michigan Data Exchange Gateway. Web-Interface Users Guide 12-07-2009 State of Michigan Data Exchange Gateway Web-Interface Users Guide 12-07-2009 Page 1 of 21 Revision History: Revision # Date Author Change: 1 8-14-2009 Mattingly Original Release 1.1 8-31-2009 MM Pgs 4,

More information

Traditional IBM Mainframe Operating Principles

Traditional 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 information

Figure 1: Graphical example of a mergesort 1.

Figure 1: Graphical example of a mergesort 1. CSE 30321 Computer Architecture I Fall 2011 Lab 02: Procedure Calls in MIPS Assembly Programming and Performance Total Points: 100 points due to its complexity, this lab will weight more heavily in your

More information

User Manual. DG LINK Application Program 071-0056-50. www.tektronix.com. This document applies to firmware version 2.00 and above.

User Manual. DG LINK Application Program 071-0056-50. www.tektronix.com. This document applies to firmware version 2.00 and above. User Manual DG LINK Application Program 071-0056-50 This document applies to firmware version 2.00 and above. www.tektronix.com Copyright Tektronix Japan, Ltd. All rights reserved. Copyright Tektronix,

More information

CHAPTER 7: The CPU and Memory

CHAPTER 7: The CPU and Memory CHAPTER 7: The CPU and Memory The Architecture of Computer Hardware, Systems Software & Networking: An Information Technology Approach 4th Edition, Irv Englander John Wiley and Sons 2010 PowerPoint slides

More information

1 Classical Universal Computer 3

1 Classical Universal Computer 3 Chapter 6: Machine Language and Assembler Christian Jacob 1 Classical Universal Computer 3 1.1 Von Neumann Architecture 3 1.2 CPU and RAM 5 1.3 Arithmetic Logical Unit (ALU) 6 1.4 Arithmetic Logical Unit

More information

Using Remote Desktop to access your Office Computer or Faculty Remote Desktop Server August, 2005 This document consists of two main parts and an

Using Remote Desktop to access your Office Computer or Faculty Remote Desktop Server August, 2005 This document consists of two main parts and an Using Remote Desktop to access your Office Computer or Faculty Remote Desktop Server August, 2005 This document consists of two main parts and an addendum. The first part will be the steps required to

More information

Memory Management Simulation Interactive Lab

Memory Management Simulation Interactive Lab Memory Management Simulation Interactive Lab The purpose of this lab is to help you to understand deadlock. We will use a MOSS simulator for this. The instructions for this lab are for a computer running

More information

Using. Microsoft Virtual PC. Page 1

Using. Microsoft Virtual PC. Page 1 Using Microsoft Virtual PC T4 Page 1 Microsoft Virtual PC Microsoft Virtual PC allows multiple Guest Operating Systems (Virtual Machines) to run using the resources of the Host Operating System (The PC

More information

Quick 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 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 information

MACHINE INSTRUCTIONS AND PROGRAMS

MACHINE INSTRUCTIONS AND PROGRAMS CHAPTER 2 MACHINE INSTRUCTIONS AND PROGRAMS CHAPTER OBJECTIVES In this chapter you will learn about: Machine instructions and program execution, including branching and subroutine call and return operations

More information

================================================================

================================================================ ==== ==== ================================================================ DR 6502 AER 201S Engineering Design 6502 Execution Simulator ================================================================

More information

PROBLEMS (Cap. 4 - Istruzioni macchina)

PROBLEMS (Cap. 4 - Istruzioni macchina) 98 CHAPTER 2 MACHINE INSTRUCTIONS AND PROGRAMS PROBLEMS (Cap. 4 - Istruzioni macchina) 2.1 Represent the decimal values 5, 2, 14, 10, 26, 19, 51, and 43, as signed, 7-bit numbers in the following binary

More information

Instruction Set Design

Instruction Set Design Instruction Set Design Instruction Set Architecture: to what purpose? ISA provides the level of abstraction between the software and the hardware One of the most important abstraction in CS It s narrow,

More information

CHAPTER 6 TASK MANAGEMENT

CHAPTER 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 information

Instruction Set Architecture. or How to talk to computers if you aren t in Star Trek

Instruction Set Architecture. or How to talk to computers if you aren t in Star Trek Instruction Set Architecture or How to talk to computers if you aren t in Star Trek The Instruction Set Architecture Application Compiler Instr. Set Proc. Operating System I/O system Instruction Set Architecture

More information

WA1826 Designing Cloud Computing Solutions. Classroom Setup Guide. Web Age Solutions Inc. Copyright Web Age Solutions Inc. 1

WA1826 Designing Cloud Computing Solutions. Classroom Setup Guide. Web Age Solutions Inc. Copyright Web Age Solutions Inc. 1 WA1826 Designing Cloud Computing Solutions Classroom Setup Guide Web Age Solutions Inc. Copyright Web Age Solutions Inc. 1 Table of Contents Part 1 - Minimum Hardware Requirements...3 Part 2 - Minimum

More information

UNIVERSITY OF CALIFORNIA, DAVIS Department of Electrical and Computer Engineering. EEC180B Lab 7: MISP Processor Design Spring 1995

UNIVERSITY OF CALIFORNIA, DAVIS Department of Electrical and Computer Engineering. EEC180B Lab 7: MISP Processor Design Spring 1995 UNIVERSITY OF CALIFORNIA, DAVIS Department of Electrical and Computer Engineering EEC180B Lab 7: MISP Processor Design Spring 1995 Objective: In this lab, you will complete the design of the MISP processor,

More information

First Bytes Programming Lab 2

First Bytes Programming Lab 2 First Bytes Programming Lab 2 This lab is available online at www.cs.utexas.edu/users/scottm/firstbytes. Introduction: In this lab you will investigate the properties of colors and how they are displayed

More information

AQA GCSE in Computer Science Computer Science Microsoft IT Academy Mapping

AQA 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 information

INGENIEURBÜRO FÜR TECHNOLOGIE TRANSFER DIPL.-ING. B. P. SCHULZ-HEISE. Getting Started with. S7 for Windows. Version 6.x

INGENIEURBÜRO FÜR TECHNOLOGIE TRANSFER DIPL.-ING. B. P. SCHULZ-HEISE. Getting Started with. S7 for Windows. Version 6.x INGENIEURBÜRO FÜR TECHNOLOGIE TRANSFER DIPL.-ING. B. P. SCHULZ-HEISE Getting Started with S7 for Windows Version 6.x TTI Ingenieurbüro für Technologie Transfer Dipl. Ing. B. Peter Schulz-Heise Stadtring

More information

Microcontroller Basics A microcontroller is a small, low-cost computer-on-a-chip which usually includes:

Microcontroller Basics A microcontroller is a small, low-cost computer-on-a-chip which usually includes: Microcontroller Basics A microcontroller is a small, low-cost computer-on-a-chip which usually includes: An 8 or 16 bit microprocessor (CPU). A small amount of RAM. Programmable ROM and/or flash memory.

More information

16.4.3 Lab: Data Backup and Recovery in Windows XP

16.4.3 Lab: Data Backup and Recovery in Windows XP 16.4.3 Lab: Data Backup and Recovery in Windows XP Introduction Print and complete this lab. In this lab, you will back up data. You will also perform a recovery of the data. Recommended Equipment The

More information

Writing an 8086 emulator in Python

Writing an 8086 emulator in Python Writing an 8086 emulator in Python Cesare Di Mauro PyCon 2015 Florence April 2015 April 2015 Cesare Di Mauro PyCon 2015 Writing an 8086 emulator in Python 1 The geek experience Writing your own o.s.: A

More information

Central Processing Unit (CPU)

Central Processing Unit (CPU) Central Processing Unit (CPU) CPU is the heart and brain It interprets and executes machine level instructions Controls data transfer from/to Main Memory (MM) and CPU Detects any errors In the following

More information

CS101 Lecture 26: Low Level Programming. John Magee 30 July 2013 Some material copyright Jones and Bartlett. Overview/Questions

CS101 Lecture 26: Low Level Programming. John Magee 30 July 2013 Some material copyright Jones and Bartlett. Overview/Questions CS101 Lecture 26: Low Level Programming John Magee 30 July 2013 Some material copyright Jones and Bartlett 1 Overview/Questions What did we do last time? How can we control the computer s circuits? How

More information

Introduction to LogixPro - Lab

Introduction to LogixPro - Lab Programmable Logic and Automation Controllers Industrial Control Systems I Introduction to LogixPro - Lab Purpose This is a self-paced lab that will introduce the student to the LogixPro PLC Simulator

More information

PART B QUESTIONS AND ANSWERS UNIT I

PART 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 information

The Hexadecimal Number System and Memory Addressing

The 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 information

PC Assembly Language. Paul A. Carter

PC 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 information

SOS Suite Installation Guide

SOS Suite Installation Guide SOS Suite Installation Guide rev. 8/31/2010 Contents Overview Upgrading from SOS 2009 and Older Pre-Installation Recommendations Network Installations System Requirements Preparing for Installation Installing

More information

Intel 8086 architecture

Intel 8086 architecture Intel 8086 architecture Today we ll take a look at Intel s 8086, which is one of the oldest and yet most prevalent processor architectures around. We ll make many comparisons between the MIPS and 8086

More information

Introduction 1-1 Installing FAS 500 Asset Accounting the First Time 2-1 Installing FAS 500 Asset Accounting: Upgrading from a Prior Version 3-1

Introduction 1-1 Installing FAS 500 Asset Accounting the First Time 2-1 Installing FAS 500 Asset Accounting: Upgrading from a Prior Version 3-1 Contents 1. Introduction 1-1 Supported Operating Environments................ 1-1 System Requirements............................. 1-2 Security Requirements........................ 1-3 Installing Server

More information

8085 INSTRUCTION SET

8085 INSTRUCTION SET DATA TRANSFER INSTRUCTIONS Opcode Operand Description 8085 INSTRUCTION SET INSTRUCTION DETAILS Copy from source to destination OV Rd, Rs This instruction copies the contents of the source, Rs register

More information

İSTANBUL AYDIN UNIVERSITY

İSTANBUL AYDIN UNIVERSITY İSTANBUL AYDIN UNIVERSITY FACULTY OF ENGİNEERİNG SOFTWARE ENGINEERING THE PROJECT OF THE INSTRUCTION SET COMPUTER ORGANIZATION GÖZDE ARAS B1205.090015 Instructor: Prof. Dr. HASAN HÜSEYİN BALIK DECEMBER

More information

Orthopaedic In-Training Examination User Manual Step-by-Step for PC

Orthopaedic In-Training Examination User Manual Step-by-Step for PC Orthopaedic In-Training Examination User Manual Step-by-Step for PC AAOS Evaluation Committee AAOS Evaluation Programs Howard Mevis, Director, Laura Hruska, Manager, Examinations Marcie Lampert, Senior

More information

Computer System: User s View. Computer System Components: High Level View. Input. Output. Computer. Computer System: Motherboard Level

Computer System: User s View. Computer System Components: High Level View. Input. Output. Computer. Computer System: Motherboard Level System: User s View System Components: High Level View Input Output 1 System: Motherboard Level 2 Components: Interconnection I/O MEMORY 3 4 Organization Registers ALU CU 5 6 1 Input/Output I/O MEMORY

More information

Lab assignment #2 IPSec and VPN Tunnels (Document version 1.1)

Lab assignment #2 IPSec and VPN Tunnels (Document version 1.1) University of Pittsburgh School of Information Science IS2820/TEL2813 - Security Management Lab assignment #2 IPSec and VPN Tunnels (Document version 1.1) Lab GSA: Carlos Caicedo Page I. Lab resources

More information

Computer Organization and Assembly Language

Computer Organization and Assembly Language Computer Organization and Assembly Language Lecture 8 - Strings and Arrays Introduction We already know that assembly code will execute significantly faster than code written in a higher-level language

More information

Lecture 3 Addressing Modes, Instruction Samples, Machine Code, Instruction Execution Cycle

Lecture 3 Addressing Modes, Instruction Samples, Machine Code, Instruction Execution Cycle Lecture 3 Addressing Modes, Instruction Samples, Machine Code, Instruction Execution Cycle Contents 3.1. Register Transfer Notation... 2 3.2. HCS12 Addressing Modes... 2 1. Inherent Mode (INH)... 2 2.

More information

Chapter 5 Instructor's Manual

Chapter 5 Instructor's Manual The Essentials of Computer Organization and Architecture Linda Null and Julia Lobur Jones and Bartlett Publishers, 2003 Chapter 5 Instructor's Manual Chapter Objectives Chapter 5, A Closer Look at Instruction

More information

Chapter 2 Assemblers http://www.intel.com/multi-core/demos.htm

Chapter 2 Assemblers http://www.intel.com/multi-core/demos.htm Chapter 2 Assemblers http://www.intel.com/multi-core/demos.htm Source Program Assembler Object Code Linker Executable Code Loader 1 Outline 2.1 Basic Assembler Functions A simple SIC assembler Assembler

More information

10.3.1.6 Lab - Data Backup and Recovery in Windows XP

10.3.1.6 Lab - Data Backup and Recovery in Windows XP 5.0 10.3.1.6 Lab - Data Backup and Recovery in Windows XP Introduction Print and complete this lab. In this lab, you will back up data. You will also perform a recovery of the data. Recommended Equipment

More information

Instruction Set Architecture

Instruction Set Architecture Instruction Set Architecture Consider x := y+z. (x, y, z are memory variables) 1-address instructions 2-address instructions LOAD y (r :=y) ADD y,z (y := y+z) ADD z (r:=r+z) MOVE x,y (x := y) STORE x (x:=r)

More information

150127-Microprocessor & Assembly Language

150127-Microprocessor & Assembly Language Chapter 3 Z80 Microprocessor Architecture The Z 80 is one of the most talented 8 bit microprocessors, and many microprocessor-based systems are designed around the Z80. The Z80 microprocessor needs an

More information

Getting Started on the Computer With Mouseaerobics! Windows XP

Getting Started on the Computer With Mouseaerobics! Windows XP This handout was modified from materials supplied by the Bill and Melinda Gates Foundation through a grant to the Manchester City Library. Getting Started on the Computer With Mouseaerobics! Windows XP

More information

An Introduction to Assembly Programming with the ARM 32-bit Processor Family

An Introduction to Assembly Programming with the ARM 32-bit Processor Family An Introduction to Assembly Programming with the ARM 32-bit Processor Family G. Agosta Politecnico di Milano December 3, 2011 Contents 1 Introduction 1 1.1 Prerequisites............................. 2

More information

Systems I: Computer Organization and Architecture

Systems I: Computer Organization and Architecture Systems I: Computer Organization and Architecture Lecture : Microprogrammed Control Microprogramming The control unit is responsible for initiating the sequence of microoperations that comprise instructions.

More information

Lab - Dual Boot - Vista & Windows XP

Lab - Dual Boot - Vista & Windows XP Lab - Dual Boot - Vista & Windows XP Brought to you by RMRoberts.com After completing this lab activity, you will be able to: Install and configure a dual boot Windows XP and Vista operating systems. Explain

More information

Keil C51 Cross Compiler

Keil C51 Cross Compiler Keil C51 Cross Compiler ANSI C Compiler Generates fast compact code for the 8051 and it s derivatives Advantages of C over Assembler Do not need to know the microcontroller instruction set Register allocation

More information

Quick Start Guide. SYSTEM REQUIREMENTS Mac OS X 10.6-10.9 Mavericks 64-bit processor A Mac with an Intel processor 1GB of memory 64MB of free space

Quick Start Guide. SYSTEM REQUIREMENTS Mac OS X 10.6-10.9 Mavericks 64-bit processor A Mac with an Intel processor 1GB of memory 64MB of free space Quick Start Guide Send & Upload Files easily using DropSend Direct Windows SYSTEM REQUIREMENTS OS: Windows XP SP2/Vista/7 & 8 32 bit or 64 bit CPU: 400 MHz or higher RAM: 128 MB or more Hard Drive: 5 MB

More information

Training Document for Comprehensive Automation Solutions Totally Integrated Automation (T I A) MODULE A5 Programming the CPU 314C-2DP

Training Document for Comprehensive Automation Solutions Totally Integrated Automation (T I A) MODULE A5 Programming the CPU 314C-2DP Training Document for Comprehensive Automation Solutions Totally Integrated Automation (T I A) MODULE T I A Training Document Page 1 of 25 Module This document has been written by Siemens AG for training

More information

SECTION C [short essay] [Not to exceed 120 words, Answer any SIX questions. Each question carries FOUR marks] 6 x 4=24 marks

SECTION C [short essay] [Not to exceed 120 words, Answer any SIX questions. Each question carries FOUR marks] 6 x 4=24 marks UNIVERSITY OF KERALA First Degree Programme in Computer Applications Model Question Paper Semester I Course Code- CP 1121 Introduction to Computer Science TIME : 3 hrs Maximum Mark: 80 SECTION A [Very

More information

Central Processing Unit Simulation Version v2.5 (July 2005) Charles André University Nice-Sophia Antipolis

Central Processing Unit Simulation Version v2.5 (July 2005) Charles André University Nice-Sophia Antipolis Central Processing Unit Simulation Version v2.5 (July 2005) Charles André University Nice-Sophia Antipolis 1 1 Table of Contents 1 Table of Contents... 3 2 Overview... 5 3 Installation... 7 4 The CPU

More information

CS 326e F2002 Lab 1. Basic Network Setup & Ethereal Time: 2 hrs

CS 326e F2002 Lab 1. Basic Network Setup & Ethereal Time: 2 hrs CS 326e F2002 Lab 1. Basic Network Setup & Ethereal Time: 2 hrs Tasks: 1 (10 min) Verify that TCP/IP is installed on each of the computers 2 (10 min) Connect the computers together via a switch 3 (10 min)

More information

Active@ Password Changer for DOS User Guide

Active@ Password Changer for DOS User Guide Active@ Password Changer for DOS User Guide 1 Active@ Password Changer Guide Copyright 1999-2014, LSOFT TECHNOLOGIES INC. All rights reserved. No part of this documentation may be reproduced in any form

More information

AccXES Account Management Tool Administrator s Guide Version 10.0

AccXES Account Management Tool Administrator s Guide Version 10.0 AccXES Account Management Tool Administrator s Guide Version 10.0 701P41531 May 2004 Trademark Acknowledgments XEROX, AccXES, The Document Company, and the identifying product names and numbers herein

More information

Using Debug 1 INTRODUCING DEBUG

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 information

TEL2821/IS2150: INTRODUCTION TO SECURITY Lab: Operating Systems and Access Control

TEL2821/IS2150: INTRODUCTION TO SECURITY Lab: Operating Systems and Access Control TEL2821/IS2150: INTRODUCTION TO SECURITY Lab: Operating Systems and Access Control Version 3.4, Last Edited 9/10/2011 Students Name: Date of Experiment: Read the following guidelines before working in

More information

Scholastic Reading Inventory Installation Guide

Scholastic Reading Inventory Installation Guide Scholastic Reading Inventory Installation Guide For use with Scholastic Reading Inventory version 2.0.1 or later and SAM version 2.0.2 or later Copyright 2011 by Scholastic Inc. All rights reserved. Published

More information

8-Bit Flash Microcontroller for Smart Cards. AT89SCXXXXA Summary. Features. Description. Complete datasheet available under NDA

8-Bit Flash Microcontroller for Smart Cards. AT89SCXXXXA Summary. Features. Description. Complete datasheet available under NDA Features Compatible with MCS-51 products On-chip Flash Program Memory Endurance: 1,000 Write/Erase Cycles On-chip EEPROM Data Memory Endurance: 100,000 Write/Erase Cycles 512 x 8-bit RAM ISO 7816 I/O Port

More information

Name: Class: Date: 9. The compiler ignores all comments they are there strictly for the convenience of anyone reading the program.

Name: Class: Date: 9. The compiler ignores all comments they are there strictly for the convenience of anyone reading the program. Name: Class: Date: Exam #1 - Prep True/False Indicate whether the statement is true or false. 1. Programming is the process of writing a computer program in a language that the computer can respond to

More information

8051 MICROCONTROLLER COURSE

8051 MICROCONTROLLER COURSE 8051 MICROCONTROLLER COURSE Objective: 1. Familiarization with different types of Microcontroller 2. To know 8051 microcontroller in detail 3. Programming and Interfacing 8051 microcontroller Prerequisites:

More information

Overview. CISC Developments. RISC Designs. CISC Designs. VAX: Addressing Modes. Digital VAX

Overview. CISC Developments. RISC Designs. CISC Designs. VAX: Addressing Modes. Digital VAX Overview CISC Developments Over Twenty Years Classic CISC design: Digital VAX VAXÕs RISC successor: PRISM/Alpha IntelÕs ubiquitous 80x86 architecture Ð 8086 through the Pentium Pro (P6) RJS 2/3/97 Philosophy

More information

CONTENTS. Data Synchronisation...10 SYNCHRONISATION SETTINGS... 12 LOTUS NOTES SETTINGS... 13 LOTUS ORGANIZER SETTINGS... 13 CONTENTS...

CONTENTS. Data Synchronisation...10 SYNCHRONISATION SETTINGS... 12 LOTUS NOTES SETTINGS... 13 LOTUS ORGANIZER SETTINGS... 13 CONTENTS... USER S MANUAL CONTENTS CONTENTS CONTENTS................................. 2 INTRODUCTION............................. 3 Twig PC Tools........................... 3 Introduction of the interface..............

More information

An Overview of Stack Architecture and the PSC 1000 Microprocessor

An Overview of Stack Architecture and the PSC 1000 Microprocessor An Overview of Stack Architecture and the PSC 1000 Microprocessor Introduction A stack is an important data handling structure used in computing. Specifically, a stack is a dynamic set of elements in which

More information

The 80x86 Instruction Set

The 80x86 Instruction Set Thi d t t d ith F M k 4 0 2 The 80x86 Instruction Set Chapter Six Until now, there has been little discussion of the instructions available on the 80x86 microprocessor. This chapter rectifies this situation.

More information

Keystone 600N5 SERVER and STAND-ALONE INSTALLATION INSTRUCTIONS

Keystone 600N5 SERVER and STAND-ALONE INSTALLATION INSTRUCTIONS The following instructions are required for installation of Best Access System s Keystone 600N5 (KS600N) network key control software for the server side. Please see the system requirements on the Keystone

More information

lesson 1 An Overview of the Computer System

lesson 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 information

EXTENDED FILE SYSTEM FOR F-SERIES PLC

EXTENDED FILE SYSTEM FOR F-SERIES PLC EXTENDED FILE SYSTEM FOR F-SERIES PLC Before you begin, please download a sample I-TRiLOGI program that will be referred to throughout this manual from our website: http://www.tri-plc.com/trilogi/extendedfilesystem.zip

More information

Mitsubishi Electric Q Series PLC Ladder Monitor. Operation Manual

Mitsubishi Electric Q Series PLC Ladder Monitor. Operation Manual Mitsubishi Electric Q Series PLC Ladder Monitor Operation Manual Preface Thank you for purchasing Pro-face's PLC Ladder Monitor Add-on Kit for the Mitsubishi Electric Q Series PLC. This manual ("Mitsubishi

More information

The goal is to program the PLC and HMI to count with the following behaviors:

The goal is to program the PLC and HMI to count with the following behaviors: PLC and HMI Counting Lab The goal is to program the PLC and HMI to count with the following behaviors: 1. The counting should be started and stopped from buttons on the HMI 2. The direction of the count

More information