1. Assembly Programming & Machine Code
|
|
- Mark Carson
- 7 years ago
- Views:
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
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 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 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 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 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 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 information(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 informationOutline. 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 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 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 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 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 informationASSEMBLY 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 informationInstruction 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 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 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 informationNotes 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 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 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 informationCPU 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 informationwhat 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 informationComp 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 informationMachine 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 informationComputer 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 informationCPU 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 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 informationOutlook 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 informationState 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 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 informationFigure 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 informationUser 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 informationCHAPTER 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 information1 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 informationUsing 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 informationMemory 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 informationUsing. 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 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 informationMACHINE 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 informationPROBLEMS (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 informationInstruction 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 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 informationInstruction 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 informationWA1826 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 informationUNIVERSITY 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 informationFirst 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 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 informationINGENIEURBÜ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 informationMicrocontroller 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 information16.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 informationWriting 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 informationCentral 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 informationCS101 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 informationIntroduction 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 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 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 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 informationSOS 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 informationIntel 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 informationIntroduction 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 information8085 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 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 informationOrthopaedic 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 informationComputer 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 informationLab 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 informationComputer 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 informationLecture 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 informationChapter 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 informationChapter 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 information10.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 informationInstruction 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 information150127-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 informationGetting 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 informationAn 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 informationSystems 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 informationLab - 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 informationKeil 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 informationQuick 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 informationTraining 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 informationSECTION 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 informationCentral 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 informationCS 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 informationActive@ 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 informationAccXES 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 informationUsing 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 informationTEL2821/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 informationScholastic 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 information8-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 informationName: 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 information8051 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 informationOverview. 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 informationCONTENTS. 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 informationAn 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 informationThe 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 informationKeystone 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 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 informationEXTENDED 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 informationMitsubishi 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 informationThe 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