ELEC 4601: Laboratory 1 Introduction to Microprocessors

Size: px
Start display at page:

Download "ELEC 4601: Laboratory 1 Introduction to Microprocessors"

Transcription

1 Department of Electronics ELEC 4601: Laboratory 1 Introduction to Microprocessors Record of Changes REV By Description Issue Date 4.1 MR Reformatting Aug 25, TP Changed trigger terms to table, added more detail for inserting trigger level, added note in part 2 procedure Sep 12, NM Update to Agilent 16702B Logic Analyzer Sep 10, DG Reformatting Sep 12, 2016 Carleton University, Ottawa, Ontario K1S 5B6, Canada

2 Introduction This lab will introduce various concepts related to microprocessors: How to test and debug simple code for a given microprocessor, in this case an AM386SX-40 (one of the early variations of the classic 80x86 processor) The idea of addressing and communicating with devices that are electrically connected to the address/data/control buses of the microprocessor using memory-mapped or I/O mapped operations How to operate a logic analyzer that lets you capture and evaluate these microprocessor bus signals The idea that the execution of code, even a single instruction, results in the generation of electrical signals that you can use as inputs to your own digital circuitry in order to cause something to happen Please note that there is additional support information and software available to you from the course website that you should carefully review before attempting this lab Hardware The following hardware is used in this lab: HP 16702B Logic Analyzer AM386SX-40 based single board computer (PC/104 SBC) The single board computer (SBC) uses a PC/104 industrial interface bus (a derivative of the classic ISA bus) as a peripheral device bus and the DOS operating system. Microsoft DOS has network functionality to allow you to network to a more sophisticated Windows based network for file transfer and, more importantly, it allows you to have direct access to all the hardware attached to the SBC without having to work with setting up access permission from the operating system. This is pretty much a standard embedded microprocessor development setup Logic analyzer Logic analyzers are used to capture and store the states of a large number of time related signals and then examine the relationship of these signals to each other. They are pretty much like digital cameras for digital signals with a variable flash rate (sampling rate) and a fixed memory card size (finite memory) that can be commanded to take a series of snapshots when certain conditions occur (trigger conditions); e.g. you can trigger a capture of all signals when two of the signals have a particular logical state, or when a particular hexadecimal value appears on the address or data bus. Note that if you take a lot of very fast snapshots you are limited by memory to a small time window that you can look at. If you take slow snapshots, you have a bigger time window for examination but you may miss fast changing signals PC/104 PC/104 is an industrial standard that defines how the bus signals from a microprocessor are brought out to particular pins of a particular connector having a very well defined size and shape. If you follow this standard, you can create boards and devices that will connect to any micro-computer that follows the standard. For the purposes of this lab, you need only consider it as a convenient way to bring the signals from the microprocessor out to place where the logic analyzer can connect to them Carleton University, Ottawa, Ontario K1S 5B6, Canada Page 1

3 Part 1: Setting up the Logic Analyzer PRELAB In this lab you will have to label and assign pins to the logic analyzer. It is important to save time by already knowing which pins you will need to assign, and what pod they should be on (see Table 1 on Page 4). You should also be aware of what the TRIGGER is/does on the logic analyzer Figure 1: System Configuration Procedure 1) Click on the Select icon in the 167XXA: Analyzer<A> box. Note that the last A of this title may also be a D/E/something-else and just reflects the location of the interface board plugged into the back of the logic analyzer. Select the Setup and Trigger option, usually at the top of the dropdown list a) Under the Sampling tab: Ensure that the Type of the Analyzer is set to Timing b) Under Format: Select Pod Assignment, move all of the Pods 1-3 under Analyzer 1. If two analyzers are being used select the Pods as needed. If you look at the back of the PC104, you will see 3 pods which connect to the Logic Analyzer At this point, your Pod Assignment setup should appear as shown in Figure 2 Carleton University, Ottawa, Ontario K1S 5B6, Canada Page 2

4 Figure 2: Analyzer Configuration 2) Select the Close to return to the Format option. This Format window is used to select the pods and pins to be used, and how they are labeled. Please refer to Table 1 for the appropriate pin assignments a) Setting up the Pods and Pins: i. Familiarize yourself with what s on the screen of the logic analyzer. You will notice labels running down the left of the screen (see Figure 3) ii. Click on the first label in the list (usually Label1 or something similar) and select Rename. Rename it to SDATA iii. Use your cursor to scroll through Pods 1 3, and the Clock Inputs (horizontal scroll located at the bottom right of your screen). The pods shown correspond to the ones selected in the Pod Assignment view. Note that, depending on the location of the logic analyzer module, the first letter of the Pod name might also be D or E or just something other than A b) Rename the labels for SDATA and SADDR lines that need to be used, as well as SYSCLK, MEMR, and MEMW, and the rest of the bus lines (as shown in Table 1) c) Assigning the pins to the labels i. In the Format view, under each Pod, is a listing of These correspond to the pins of each Pod ii. For example, looking at Table 1, you will see that for Pod 1, all pins (0 through 15) are assigned to SDATA. An asterisk * denotes that this pin is assigned to the label iii. Along SDATA, click on the corresponding Pod 1 segment, and you can set all of the pins to *. In the popup window, selecting **************** will set all the pins to be assigned iv. Do this for all of the other bus lines, and have a TA verify this Carleton University, Ottawa, Ontario K1S 5B6, Canada Page 3

5 Table 1: Logic Analyzer POD connections to Processor Buses Channel Number [Pin # ] POD 3 POD 2 POD 1 Pin Name MISC Pin Name ADDR Pin Name DATA GND GND GND GND 0 SA16 SA0 SD0 1 SA17 SA1 SD1 2 SA18 SA2 SD2 3 SA19 SA3 SD3 4 IRQ4 SA4 SD4 5 IRQ5 SA5 SD5 6 IRQ3 SA6 SD6 7 IRQ7 SA7 SD7 8 MEMR SA8 SD8 9 MEMW SA9 SD9 10 BALE SA10 SD10 11 REFRESH SA11 SD11 12 AEN SA12 SD12 13 OSC SA13 SD13 14 SYSCLK SA14 SD SA15 SD15 CLK INPUT J IOR CLK INPUT K IOW Note : clock inputs are at the end of the scrollable list of PODS Carleton University, Ottawa, Ontario K1S 5B6, Canada Page 4

6 Figure 3: Format Layout (example only) Note the following about Figure 3: In the Pod labels ( Pod A3, Pod A2, etc) the number is the important part. The actual alphabetic character may be different from that shown since the character code relates to the location of the logic analyzer module itself The signal group labels (which can refer to a single signal on a single pod or a cluster of signals across several pods) are shown in the leftmost column as labels The array of touchable buttons with the dots (. ) and asterisks ( * ) is used to assign one or more pins of the selected POD to a particular label At this point, you have defined the electrical connections. Signals of interest on the microprocessor bus are connected to actual inputs on the logic analyzer Since the logic analyzer doesn t have infinite memory, you have to very precisely define when exactly you want to take a snapshot of the signals that you are interested in. This process involves setting up the logical conditions that trigger the first snapshot. Snapshots will then be taken at a speed that you define until memory is full. The trick is to define the speed of the snapshots so that snapshots occur fast enough to see what you want over a fixed period of time too fast and you may not see how the signals are related, too slow and you may not see the fast signals that you are interested in Carleton University, Ottawa, Ontario K1S 5B6, Canada Page 5

7 For the demonstration that follows we are going to generate and capture some memory mapped I/O cycles (the 80x86 is capable of both memory-mapped I/O and port-mapped I/O) i.e. reads and writes of the video memory used to produce the text display that you are seeing on the monitor attached to the PC/104 computer 3) Select the Trigger tab To debug embedded systems, it is necessary to monitor the real time behavior of the data signals passing through the bus. The logic analyzer captures the data both prior to and following the triggered trace point Figure 4: Trigger Layout (example only) The most commonly used trigger signals are the bus data WRITE and READ signals since conversations between the microprocessor and the peripheral device always involve these signals. So a simple trigger can be set up as shown in the following steps: a) Set the state(s) you are looking for in each signal. In this example, the MEMW and MEMR have states where they go to 1 and 0 (zero), respectively. That is, we have set both a (for the MEMW signal) and b (for the MEMR signal) to X indicating that we don t care about the state of these signals for the moment b) Insert a trigger level. There are a number of macros you can use, or you can make your own. For simplicity we can use 2 built-in trigger macros. Under General Timing we set a trigger to find "a" for > 6ns, and then trigger (capture a waveform) on b. You can add more trigger levels by clicking Insert Before/After c) After then, you have the options to finish the Trigger and fill the memory, or Goto the next trigger condition Carleton University, Ottawa, Ontario K1S 5B6, Canada Page 6

8 Example: Triggering at Hello : Setting the TRIGGER: format of (signal column, pattern row) e.g. (SDATA column, a row) 1 Set (SDATA, a) to XX48, (SADDR) to B8XXX {H} 2 Set (SDATA, b) to XX65, (SADDR) to B8XXX {e} 3 Set (SDATA, c) to XX6C, (SADDR) to B8XXX {l} 4 Set (SDATA, d) to XX6C, (SADDR) to B8XXX {l} 5 (Optional) You can also set MEMW to 1 for states a-d Timing Sequence Levels: 1 Find a > 8ns 2 Find b > 8ns 3 Find c > 8ns 4 TRIGGER on d > 8ns Click the RUN icon, and then execute the LAB1A.EXE program from the DOS prompt To view the waveform, select Window followed by Analyzer<A>, Waveform<1> The waveform window should appear similar to the screen shown in the figure below Figure 5: Waveform Display You can save the screen shown on the logic analyzer to a JPEG file on your desktop. Launch the Chrome web browser. Enter the IP of the Agilent 16702B LA, located at the top of the unit, in the search bar. Select Get Image. Save the image to you H: drive (never save to your desktop! Ever!) Carleton University, Ottawa, Ontario K1S 5B6, Canada Page 7

9 Figure 7: Screen Capture Questions 1. How long does one complete memory-mapped I/O cycle to video memory take? 2. What is the frequency of the reference SYSCLK? 3. Explain clearly the reason for the values shown on the captured display for the signals that you are looking at, specifically SMEMR, SMEMW, SDATA and SADDR Note: In order to answer these questions, you must include screenshots of your waveforms with timing markers indicating the beginning and ending of your measurements BONUS diversion a. Run your trigger on the logic analyzer b. Type in CLS in DOS, and run your executable c. Click on Acq. Control and set it to Manual. Set the Sample time to 256ns d. Find the time between each of the characters displayed e. Set Acq. Control back to 8ns. Hit enter repeatedly till you reach the last line of the screen, and trigger and run your executable again f. Find the time between the characters H, E, L, L, and O g. So what s up (it is related to the graphical display and how it synchronizes output to an old fashioned CRT monitor. A search for topics related to IBM-PC displays, CGA and snow will help) Carleton University, Ottawa, Ontario K1S 5B6, Canada Page 8

10 Part 2: Investigating Port-mapped I/O The other technique used to talk with peripheral devices on the 80x86 buses is referred to as port-mapped I/O. This involves talking to a device using only IN and OUT opcode instructions (there are actually a few more such as INS and OUTS, but they operate in basically the same way). Memory-mapped I/O can use any instruction that involves memory operations (there are lots), port-mapped I/O is restricted to a smaller and less powerful instruction set Memory mapped I/O uses the full 20-bit address space of the processor and produces SMEMR and SMEMW strobe signals. Port mapped I/O uses a smaller 16-bit address space and produces IOR and IOW strobe signals For this demonstration, we are going to use the DOS Debug command to create a simple program to flash some LEDs that are attached to the output pins of what is referred to as the printer or parallel port (at input/output port at address 0x0378) Procedure 1) From the PC/104 computer, run the DEBUG utility. From the DEBUG prompt type: o to set the state of the LEDs to 0x55 o 378 AA i 378 to set the state of the LEDs to 0xAA to read back the state of the LEDs 2) For each of the examples above, capture the following so that their relationship is shown in time (note: you will have to alter the trigger levels/terms from what they were in Part 1, in order to capture these events): the data bus, address bus, and the IOR, IOW, SYSCLK signals 3) Use the logic analyzer to measure the time that it takes to produce one complete I/O cycle; hint, use the markers Capture the 3 timing diagrams for your report If you do o X and o X378 AA, where X is any hex digit between 0 and F, you should see exactly the same thing each time. This tells you something about how the parallel port on this PC is addressed, which would be what exactly? You can also do this in code, using the simple DEBUG assembler and instruction trace features: a 100 mov dx,378 in al,dx 4) Set the logic analyzer to trigger on an IO Read (an active low signal) to address X0378 Carleton University, Ottawa, Ontario K1S 5B6, Canada Page 9

11 5) Trace the little program above and note exactly when the logic analyzer triggers 6) Compare this to the results of the i 378 instruction above a 100 mov dx,378 mov al,55 out dx,al 7) Set the logic analyzer to trigger on an IO Write (an active low signal) to address X0378 8) Trace the little program above and note exactly when the logic analyzer triggers 9) Compare this to the results of the o test above Capture the 2 timing diagrams for your report Questions 1. Discuss your observations on how the parallel port on the PC is addressed 2. Report your observations when the logic analyzer triggers and compare results from steps six and nine Carleton University, Ottawa, Ontario K1S 5B6, Canada Page 10

12 Part 3 Investigating Video Memory The CGA text mode video memory starts at B800:0000 (20-bit address of 0xB80000). This memory holds all the text characters that you see on monitor attached to the PC/104 computer Address B800:0000 references the character (one byte) in the upper left corner of the screen. Each line on the display is 80 characters wide. There are 25 lines in the display. Each character is coded with one word one byte of the word is the actual ASCII character code and the other byte of the code is the attribute byte indicating the foreground and background colors of the character. This gives you a memory block which is 80*2*25 or 4,000 bytes in size Procedure 1) Using DEBUG and some simple assembly code, you now have a relatively easy way to access any character on the screen: a 100 mov ax,b800 mov es,ax mov di,0 mov ax,4235 es: mov [di+640],ax 2) Now run this little program: -r ip :100 3) Press t multiple times to step through the program until you get to the last instruction. To run the program again you will have to reset the instruction pointer (IP) back to 100 Questions 1. Describe the little change that you see on the screen. Explain it (this requires some thinking) 2. Explain and comment the above lines of code BONUS With this basic code you can now change any character on the screen and its attributes. Figure out how to change the color of every character on the screen so that it is WHITE on BLUE instead of LIGHTGREY on BLACK, regardless of what the character itself is Write-up and Deliverables Please follow the questions in the Marking Rubric given on culearn Carleton University, Ottawa, Ontario K1S 5B6, Canada Page 11

13 Appendix A: Assembling and linking the part 1 executable Introduction From prior courses, you should already have acquired knowledge of how to use debug and how to assemble assembly language source. It would be very useful if you reviewed assembly level programming on the 80x86 as well as your common DOS commands. Below is a sample program that you can practice and run at home, as well as in the lab session Procedure 1. Download tools.zip from the culearn website 2. Extract all the files from tools.zip into a directory (i.e., H:\BUILD). The files are a subset of the freely available Microsoft MASM assembler that as a minimum you need to assemble and build code 3. Create a text file and save it as LAB1A.ASM. Note that, by default, the Notepad application will save your file with a.txt extension. Please make sure to change your save type 4. Copy the code below and paste it into your file 5. On the PC/104 computer, assemble the program by typing at the DOS prompt: ml LAB1A.asm 6. It produces LAB1A.EXE. 7. To test run it at the DOS prompt, type: LAB1A or LAB1A.EXE 8. You may need to type cls to clear the screen, as the message is written at the top of the screen s memory ; *********** lab1a.asm ************* ; Displays the string (including the spaces) ; at various locations about the screen ; Note: ; - Code uses MASM 6.11 syntax ; - To assemble: ml lab1a.asm ; ***********************************.MODEL small.stack 100h.386.data msg DB "Hello World, Welcome to ELEC4601!!!", 0 nsize DW ($ - msg).code _main PROC XOR SI, SI XOR DI, DI MOV MOV DS, DX MOV CX, nsize MOV SI, OFFSET msg MOV DX, 0B800h MOV ES, DX scanloop: MOV AL, byte ptr [SI] MOV byte ptr ES: [DI], AL INC DI INC SI INC DI LOOP scanloop terminate: MOV AX, 4C00h INT 21h _main ENDP END _main Carleton University, Ottawa, Ontario K1S 5B6, Canada Page 12

Laboratory 1 Introduction to Microprocessors

Laboratory 1 Introduction to Microprocessors Department of Electronics Laboratory 1 Introduction to Microprocessors Record of Changes REV By Description Issue Date 4.1 MR Reformatting Aug 25, 2013 4.2 TP Changed trigger terms to table, added more

More information

Lab 2: 80x86 Interrupts

Lab 2: 80x86 Interrupts ELEC-4601: Microprocessor Systems The Point Lab 2: 80x86 Interrupts Writing software to properly respond to a hardware interrupt is fussy. There is a hardware path from the incoming interrupt signal all

More information

ELEC VIDEO BIOS ROUTINES

ELEC VIDEO BIOS ROUTINES It is less confusing to the user if we remove unnecessary messages from the display before giving information or instructions. At the command prompt, we do this with the DOS command CLS. However, this

More information

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

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

More information

SIPS - Group. Technical Description May ISA96 Bus Specification V 1.0

SIPS - Group. Technical Description May ISA96 Bus Specification V 1.0 SIPS - Group Technical Description May 1995 ISA96 Bus Specification V 1.0 o:\text\normen\isa96bu1.doc SIPS - Group Specification ISA96-Bus page 1 Contents 1. Notation...3 2. ISA96 Overview...4 2. 1 General...4

More information

COE 205: Computer Organization & Assembly Language Introductory Experiment-B By Louai Al-Awami

COE 205: Computer Organization & Assembly Language Introductory Experiment-B By Louai Al-Awami COE 205: Computer Organization & Assembly Language Introductory Experiment-B By Louai Al-Awami Introduction A computer system consists mainly of three components: a Central Processing Unit (CPU), a memory

More information

Video processing The INT instruction enables program to interrupt its own processing. Use INT instruction to handle inputs and outputs

Video processing The INT instruction enables program to interrupt its own processing. Use INT instruction to handle inputs and outputs Video processing The INT instruction enables program to interrupt its own processing. Use INT instruction to handle inputs and outputs INT 10H: screen handling INT 21H: for displaying screen output and

More information

Help Volume Hewlett Packard Company. All rights reserved. Toolsets: IA Format Utility

Help Volume Hewlett Packard Company. All rights reserved. Toolsets: IA Format Utility Help Volume 1997-2002 Hewlett Packard Company. All rights reserved. Toolsets: IA Format Utility Using the IA Format Utility The IA Format Utility tool lets you convert a.r (dot R) file into an inverse

More information

INT 21H and INT 10H Programming and Macros

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

More information

SIPS - Group. Technical Description May AT96 Bus Specification V 1.1

SIPS - Group. Technical Description May AT96 Bus Specification V 1.1 SIPS - Group Technical Description May 1995 AT96 Bus Specification V 1.1 o:\text\normen\at96bus1.doc Contents 1. Notation...3 2. AT96 Overview...4 2. 1 General...4 2. 2 Recommendations...4 3. Signal Description...5

More information

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

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

More information

Training Kit for HP 1660/70 Series Logic Analyzers

Training Kit for HP 1660/70 Series Logic Analyzers Training Guide Publication Number E2433-97034 First Edition, November 1997 For Safety information, Warranties, and Regulatory information, see the pages behind the Index. Copyright Hewlett-Packard Company

More information

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

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

More information

PM-1037C V.1.0 CompactFlash Module

PM-1037C V.1.0 CompactFlash Module PM-1037C V.1.0 CompactFlash Module Copyright Notice Copyright 2000. All Rights Reserved. Manual first edition JUL..01, 2000. The information in this document is subject to change without prior notice in

More information

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

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

More information

Chapter ELEVEN 8255 I/O PROGRAMMING

Chapter ELEVEN 8255 I/O PROGRAMMING Chapter ELEVEN 8255 I/O PROGRAMMING OBJECTIVES this chapter enables the student to: Code Assembly language instructions to read and write data to and from I/O ports. Diagram the design of peripheral I/O

More information

Intel Architecture Segment:Offset Memory Addressing

Intel Architecture Segment:Offset Memory Addressing Name: Date: Lab Section: Lab partner s name: Lab PC Number: Objectives: Understanding video memory and character mapping of CGA characters in ROM BIOS, using the DOS debug command. Writing simple assembly-language

More information

Help Volume Agilent Technologies. All rights reserved. Agilent E2485A Memory Expansion Interface

Help Volume Agilent Technologies. All rights reserved. Agilent E2485A Memory Expansion Interface Help Volume 1994-2002 Agilent Technologies. All rights reserved. Agilent E2485A Memory Expansion Interface Agilent E2485A Memory Expansion Interface The E2485A Memory Expansion Interface lets you use the

More information

Help Volume Agilent Technologies. All rights reserved. Instrument: Agilent Technologies 16550A Logic Analyzer

Help Volume Agilent Technologies. All rights reserved. Instrument: Agilent Technologies 16550A Logic Analyzer Help Volume 1992-2002 Agilent Technologies. All rights reserved. Instrument: Agilent Technologies 16550A Logic Analyzer Agilent Technologies 16550A 100 MHz State/500 MHz Timing Logic Analyzer The Agilent

More information

VARDHAMAN COLLEGE OF ENGINEERING (AUTONOMOUS) Shamshabad, Hyderabad

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

More information

Microprocessors & Assembly Language Lab 1 (Introduction to 8086 Programming)

Microprocessors & Assembly Language Lab 1 (Introduction to 8086 Programming) Microprocessors & Assembly Language Lab 1 (Introduction to 8086 Programming) Learning any imperative programming language involves mastering a number of common concepts: Variables: declaration/definition

More information

IDE2CF User Manual IDE2CF

IDE2CF User Manual IDE2CF The is a cost effective and easy to use adapter for connecting Compact Flash Cards (CF-Cards) to the standard IDE port of a single board computer (SBC) from MPL or other manufacturers. For mechanical fixing

More information

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

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

More information

Lab 10 CST8214 Ian! D. Allen Fall 2007

Lab 10 CST8214 Ian! D. Allen Fall 2007 Name: Date: Lab Section: Lab partner s name: Lab PC Number: Objectives: Understanding video memory and character mapping of CGA characters in ROM BIOS, using the DOS debug command. Writing simple assembly

More information

Experiment 3 3 Basic Input Output

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

More information

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

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

More information

I/O Design. Input / Output Instructions. Engineering 4862 Microprocessors. Lecture 23. Cheng Li

I/O Design. Input / Output Instructions. Engineering 4862 Microprocessors. Lecture 23. Cheng Li Engineering 4862 Microprocessors Lecture 23 Cheng Li EN-4012 licheng@engr.mun.ca I/O Design When designing an I/O port, ensure that the port is only active when selected by the microprocessor Use latches

More information

Experiment N o 1. 1 Introduction to Assembly Language Programming

Experiment N o 1. 1 Introduction to Assembly Language Programming Experiment N o 1 1 Introduction to Assembly Language Programming Introduction: This experiment introduces the student to assembly language programming. In order to illustrate the basic concepts of assembly

More information

ORG ; TWO. Assembly Language Programming

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

More information

EE261 Computer Project 1: Using Mentor Graphics for Digital Simulation

EE261 Computer Project 1: Using Mentor Graphics for Digital Simulation EE261 Computer Project 1: Using Mentor Graphics for Digital Simulation Introduction In this project, you will begin to explore the digital simulation tools of the Mentor Graphics package available on the

More information

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

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

More information

IDE2PCC User Manual IDE2PCC

IDE2PCC User Manual IDE2PCC The is a cost effective and easy to use adapter for connecting PCMCIA PC Cards ATA with true IDE interface (PC Cards) to the standard IDE port of a single board computer (SBC) from MPL or other manufacturers.

More information

EXPERIMENT TWELVE: USING DISK FILES

EXPERIMENT TWELVE: USING DISK FILES EXPERIMENT TWELVE: USING DISK FILES INTRODUCTION Because just about any program ever written requires the use of a disk file to store or retrieve data, this experiment shows how to create, read, write,

More information

Help Volume Agilent Technologies. All rights reserved. Instrument: Agilent Technologies 16557D 140 MHz State/500 MHz Timing Logic Analyzer

Help Volume Agilent Technologies. All rights reserved. Instrument: Agilent Technologies 16557D 140 MHz State/500 MHz Timing Logic Analyzer Help Volume 1992-2002 Agilent Technologies. All rights reserved. Instrument: Agilent Technologies 16557D 140 MHz State/500 MHz Timing Logic Analyzer Agilent Technologies 16557D 140MHz State/500MHz Timing

More information

University of Florida EEL 3701 Dr. Eric M. Schwartz Department of Electrical & Computer Engineering Revision 0 12-Jun-16

University of Florida EEL 3701 Dr. Eric M. Schwartz Department of Electrical & Computer Engineering Revision 0 12-Jun-16 Page 1/14 Quartus Tutorial with Basic Graphical Gate Entry and Simulation Example Problem Given the logic equation Y = A*/B + /C, implement this equation using a two input AND gate, a two input OR gate

More information

Assembly Language: g Part III. First Semester 2013 Department of Computer Science Faculty of Science Chiang Mai University

Assembly Language: g Part III. First Semester 2013 Department of Computer Science Faculty of Science Chiang Mai University System Programming with Assembly Language: g Part III First Semester 2013 Department of Computer Science Faculty of Science Chiang Mai University Outline A Few Basic Instructions Translation of high Level

More information

EC-333 Microprocessor and Interfacing Techniques

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

More information

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

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

More information

The statement above assumes that the PCMAC.INC file is in the current directory. The full path of the file can also be given:

The statement above assumes that the PCMAC.INC file is in the current directory. The full path of the file can also be given: MACROS for I/O As you have probably noticed, writing DOS calls can become tedious. Much of the code is repetitive, and each call has its own function code and register usage. You are probably used to dealing

More information

COE 205 Lab Manual Experiment N o 12. Experiment N o Using the Mouse

COE 205 Lab Manual Experiment N o 12. Experiment N o Using the Mouse Experiment N o 12 12 Using the Mouse Introduction The mouse is an I/O device that replaces the arrow keys on the keyboard for graphical and text style programs. This experiment shows how to add the mouse

More information

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

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

More information

EEM336 Microprocessors I. Data Movement Instructions

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

More information

duagon D201 ISA to PC/104 adapter Data Sheet

duagon D201 ISA to PC/104 adapter Data Sheet duagon This document describes the d0 ISAto- PC/0 bus adaoter. It is intended mainly for lab use. The widely spread PCs support a test and diagnostic platform for software development. Data Sheet D0 ISA

More information

Assembly Language Each statement in an assembly language program consists of four parts or fields.

Assembly Language Each statement in an assembly language program consists of four parts or fields. Chapter 3: Addressing Modes Assembly Language Each statement in an assembly language program consists of four parts or fields. The leftmost field is called the label. - used to identify the name of a memory

More information

Name EGR 2131 Lab #6 Number Representation and Arithmetic Circuits

Name EGR 2131 Lab #6 Number Representation and Arithmetic Circuits Name EGR 2131 Lab #6 Number Representation and Arithmetic Circuits Equipment and Components Quartus software and Altera DE2-115 board PART 1: Number Representation in Microsoft Calculator. First, let s

More information

Experiment N o 1. Introduction to Assembly Language Programming

Experiment N o 1. Introduction to Assembly Language Programming Experiment N o 1 Introduction to Assembly Language Programming Introduction: The aim of this experiment is to introduce the student to assembly language programming, and the use of the tools that he will

More information

ADVANCE MICROPROCESSOR & INTERFACING

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

More information

Constants and Expressions. Lecture 7: Assembly Language Programs. Constants and Expressions (cont.) Statements. Names. Assembly Directives

Constants and Expressions. Lecture 7: Assembly Language Programs. Constants and Expressions (cont.) Statements. Names. Assembly Directives Lecture 7: Assembly Language Programs Basic elements of assembly language Assembler directives Data allocation directives Data movement instructions Assembling, linking, and debugging Using TASM Constants

More information

Quartus II Tutorial. September 10, 2014 Quartus II Version 14.0

Quartus II Tutorial. September 10, 2014 Quartus II Version 14.0 Quartus II Tutorial September 10, 2014 Quartus II Version 14.0 This tutorial will walk you through the process of developing circuit designs within Quartus II, simulating with Modelsim, and downloading

More information

EE 314 Spring 2003 Microprocessor Systems

EE 314 Spring 2003 Microprocessor Systems EE 314 Spring 2003 Microprocessor Systems Laboratory Project #3 Arithmetic and Subroutines Overview and Introduction Review the information in your textbook (pp. 115-118) on ASCII and BCD arithmetic. This

More information

The 8237 DMA Controller: -

The 8237 DMA Controller: - The 8237 DMA Controller: - The 8237 is the LSI controller IC that is widely used to implement the direct memory access (DMA) function in 8088 and 8086 based microcomputer systems. It is available in 40-pin

More information

THE UNIVERSITY OF TRINIDAD & TOBAGO

THE UNIVERSITY OF TRINIDAD & TOBAGO THE UNIVERSITY OF TRINIDAD & TOBAGO FINAL ASSESSMENT/EXAMINATIONS DECEMBER 2012 Course Code and Title: Microprocessor Architecture & Interfacing Programme: Computer Engineering Technician Date and Time:

More information

Atmos Engineering, Inc. External Specification PN PC104 Air Data Atmodule PN Revision 6.0

Atmos Engineering, Inc. External Specification PN PC104 Air Data Atmodule PN Revision 6.0 A T M O S E N G I N E E R I N G I N C. Atmos Engineering, Inc External Specification PN 410042 PC104 Air Data Atmodule PN 840025 Revision 6.0 Atmos Engineering, Inc 443 Dearborn Park, Rd Pescadero, CA

More information

The QuickCalc BASIC User Interface

The QuickCalc BASIC User Interface The QuickCalc BASIC User Interface Running programs in the Windows Graphic User Interface (GUI) mode. The GUI mode is far superior to running in the CONSOLE mode. The most-used functions are on buttons,

More information

In this lab, you will build and execute a simple message flow. A message flow is like a program but is developed using a visual paradigm.

In this lab, you will build and execute a simple message flow. A message flow is like a program but is developed using a visual paradigm. Lab 1 Getting Started 1.1 Building and Executing a Simple Message Flow In this lab, you will build and execute a simple message flow. A message flow is like a program but is developed using a visual paradigm.

More information

ELEC 242 Using Library Procedures

ELEC 242 Using Library Procedures ELEC 242 Using Library Procedures There are a number of existing procedures that are already written for you that you will use in your programs. In order to use the library procedures that come with the

More information

Laboratory IV LCD Framebuffer

Laboratory IV LCD Framebuffer Introduction Laboratory IV In this laboratory you will explore different ways of creating video images. There are four projects. In the first one you will create an image on the fly using PAL macros to

More information

Quartus II Version 14.0 Tutorial Created September 10, 2014; Last Updated January 9, 2017

Quartus II Version 14.0 Tutorial Created September 10, 2014; Last Updated January 9, 2017 Quartus II Version 14.0 Tutorial Created September 10, 2014; Last Updated January 9, 2017 This tutorial will walk you through the process of developing circuit designs within Quartus II, simulating with

More information

Week 7. Input/Output Interface Circuits and LSI Peripheral Devices

Week 7. Input/Output Interface Circuits and LSI Peripheral Devices Week 7 Input/Output Interface Circuits and LSI Peripheral Devices Core and Special Purpose I/O Interfaces Special purpose I/O interfaces display parallel printer interface serial communication interface

More information

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

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

More information

PCM-3110/3111 PC/104 PCMCIA module

PCM-3110/3111 PC/104 PCMCIA module PCM-3110/3111 PC/104 PCMCIA module The PCM-3110 is a PCMCIA driver in the PC/104 form factor. The PCM-3111 is a second PCMCIA socket when used in conjunction with the PCM-3110. The PCM-3110 is always designated

More information

Introduction to Microprocessor

Introduction to Microprocessor Introduction to Microprocessor The microprocessor is a general purpose programmable logic device. It is the brain of the computer and it performs all the computational tasks, calculations data processing

More information

Chapter 13 Direct Memory Access and DMA-Controlled I/O

Chapter 13 Direct Memory Access and DMA-Controlled I/O Chapter 13 Direct Memory Access and DMA-Controlled I/O The DMA I/O technique provides direct access to the memory while the microprocessor is temporarily disabled This allows data to be transferred between

More information

Experiment 8 8 Subroutine Handling Instructions and Macros

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

More information

8086 INTERNAL ARCHITECTURE

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

More information

University of California at Berkeley College of Engineering Department of Electrical Engineering and Computer Science. EECS 150 Spring 2000

University of California at Berkeley College of Engineering Department of Electrical Engineering and Computer Science. EECS 150 Spring 2000 University of California at Berkeley College of Engineering Department of Electrical Engineering and Computer Science EECS 150 Spring 2000 Lab 1 Introduction to Xilinx Design Software 1 Objectives In this

More information

E CpE185 Laboratory Fall Introduction to Debug

E CpE185 Laboratory Fall Introduction to Debug E CpE185 Laboratory Fall 2006 Introduction to Debug Intro to DEBUG: Debug Monitor, Machine Language, and Assembly Language, Machine Instructions: MOV, SUB, ADD, JGE, INT 2Oh, and Debug Commands: d, e,

More information

Chapter 3: Addressing Modes

Chapter 3: Addressing Modes Chapter 3: Addressing Modes Chapter 3 Addressing Modes Note: Adapted from (Author Slides) Instructor: Prof. Dr. Khalid A. Darabkh 2 Introduction Efficient software development for the microprocessor requires

More information

CS-202 Microprocessor and Assembly Language

CS-202 Microprocessor and Assembly Language CS-202 Microprocessor and Assembly Language Lecture 2 Introduction to 8086 Assembly Language Dr Hashim Ali Spring - 2019 Department of Computer Science and Engineering HITEC University Taxila!1 Lecture

More information

Introduction. Description of the BUS. PC KITS-tutorial page (ISA BUS) Pagina 1 di 5

Introduction. Description of the BUS. PC KITS-tutorial page (ISA BUS) Pagina 1 di 5 PC KITS-tutorial page (ISA BUS) Pagina 1 di 5 Introduction. The serial port enables to the electronic designer to communicate a PC with devices that supports the RS-232 standard. On the other hand, the

More information

Constants and. Lecture 7: Assembly Language Programs. Expressions (cont.) Constants and. Statements. Expressions

Constants and. Lecture 7: Assembly Language Programs. Expressions (cont.) Constants and. Statements. Expressions Lecture 7: Assembly Language Programs Basic elements of assembly language Assembler directives Data allocation directives Data movement instructions Assembling, linking, and debugging Using TASM Constants

More information

Chapter TEN. Memory and Memory Interfacing

Chapter TEN. Memory and Memory Interfacing Chapter TEN Memory and Memory Interfacing OBJECTIVES this chapter enables the student to: Define the terms capacity, organization, and speed as used in semiconductor memories. Calculate the chip capacity

More information

Instructions Involve a Segment Register (SR-field)

Instructions Involve a Segment Register (SR-field) BYTE 1 = 11000111 2 = C7 16 BYTE 2 = (MOD)000(R/M) = 100000112 = 83 16 BYTE 3 = 34 16 and BYTE 4 = 12 16 BYTE 5 = CD 16 and BYTE 6 = AB 16 The machine code for the instruction is: MOV [BP+DI+1234H], 0ABCDH

More information

SPRING TERM BM 310E MICROPROCESSORS LABORATORY PRELIMINARY STUDY

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

More information

About this Manual. Support for Your Product

About this Manual. Support for Your Product About this Manual We ve added this manual to the Agilent website in an effort to help you support your product. This manual is the best copy we could find; it may be incomplete or contain dated information.

More information

Interface DAC to a PC. Control Word of MC1480 DAC (or DAC 808) 8255 Design Example. Engineering 4862 Microprocessors

Interface DAC to a PC. Control Word of MC1480 DAC (or DAC 808) 8255 Design Example. Engineering 4862 Microprocessors Interface DAC to a PC Engineering 4862 Microprocessors Lecture 22 Cheng Li EN-4012 licheng@engr.mun.ca DAC (Digital-to-Analog Converter) Device used to convert digital pulses to analog signals Two methods

More information

Assessment Data Online for Parents: Quick Start Guide

Assessment Data Online for Parents: Quick Start Guide Assessment Data Online for Parents: Quick Start Guide Welcome, Parents, to the Assessment Data Online website. This Quick Start Guide is intended to help you become familiar with the application, provide

More information

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

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

More information

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

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

More information

Practical Workbook Microprocessor Based System Design

Practical Workbook Microprocessor Based System Design Practical Workbook Microprocessor Based System Design Name Year Batch Roll No : : : : Department: Seventh edition: 2015 Department of Computer & Information Systems Engineering NED University of Engineering

More information

UNIVERSITY OF HONG KONG DEPARTMENT OF ELECTRICAL AND ELECTRONIC ENGINEERING. Principles of Computer Operation

UNIVERSITY OF HONG KONG DEPARTMENT OF ELECTRICAL AND ELECTRONIC ENGINEERING. Principles of Computer Operation UNIVERSITY OF HONG KONG DEPARTMENT OF ELECTRICAL AND ELECTRONIC ENGINEERING Experiment PCO: Principles of Computer Operation Location: Part I Lab., CYC 102. Objective: The objective is to learn the basic

More information

2 Getting Started. Getting Started (v1.8.6) 3/5/2007

2 Getting Started. Getting Started (v1.8.6) 3/5/2007 2 Getting Started Java will be used in the examples in this section; however, the information applies to all supported languages for which you have installed a compiler (e.g., Ada, C, C++, Java) unless

More information

Experiment N o 8. String Handling Instructions

Experiment N o 8. String Handling Instructions Experiment N o 8 String Handling Instructions Introduction: In this experiment you will deal with string handling instructions, such as reading a string, moving a string from one memory location to another,

More information

University of California at Berkeley College of Engineering Department of Electrical Engineering and Computer Science

University of California at Berkeley College of Engineering Department of Electrical Engineering and Computer Science University of California at Berkeley College of Engineering Department of Electrical Engineering and Computer Science EECS 150 Fall 2000 Original Lab By: J.Wawrzynek and N. Weaver Edited by B. Choi, R.

More information

ECGR 4101/5101, Fall 2016: Lab 1 First Embedded Systems Project Learning Objectives:

ECGR 4101/5101, Fall 2016: Lab 1 First Embedded Systems Project Learning Objectives: ECGR 4101/5101, Fall 2016: Lab 1 First Embedded Systems Project Learning Objectives: This lab will introduce basic embedded systems programming concepts by familiarizing the user with an embedded programming

More information

CC411: Introduction To Microprocessors

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

More information

INTViewer Tutorial Cube Tutorial

INTViewer Tutorial Cube Tutorial INTViewer Tutorial Cube Tutorial This tutorial shows how to use INTViewer to display a seismic cube stored in a Seismic file. Windows created will include INLINE, XLINE, Time Slice and an arbitrary traverse,

More information

LAB WORK NO. 3 TURBO DEBUGGER ENVIRONMENT

LAB WORK NO. 3 TURBO DEBUGGER ENVIRONMENT LAB WORK NO. 3 TURBO DEBUGGER ENVIRONMENT 1. Objective of the lab work The purpose of this lab is to be able to debug programs written in assembly language and general executables, using a debugging tool.

More information

CMT6118 IDE Controller and Compact Flash Carrier with Floppy utilitymodule User s Manual

CMT6118 IDE Controller and Compact Flash Carrier with Floppy utilitymodule User s Manual CMT6118 IDE Controller and Compact Flash Carrier with Floppy utilitymodule User s Manual BDM-610020044 Rev. A CMT6118 ISOLATED IDE Controller and Compact Flash Carrier with Floppy utilitymodule User s

More information

EE 390 Lab Manual, EE Department, KFUPM. Experiment #7. Introduction to Flight86 Microprocessor Trainer and Application Board

EE 390 Lab Manual, EE Department, KFUPM. Experiment #7. Introduction to Flight86 Microprocessor Trainer and Application Board Experiment #7 Introduction to Flight86 Microprocessor Trainer and Application Board 7.0 Objectives: The objective of this experiment is to introduce the Flight86 Microprocessor training kit and application

More information

Tutorial 1 Importing Data

Tutorial 1 Importing Data Tutorial 1 Importing Data Welcome to this tutorial in which we will look at how to import raw tire data into OptimumT. In this tutorial you will learn how to: 1. Loading files 2. Using Import Templates

More information

WINTER 12 EXAMINATION Subject Code : Model Answer Page No : / N. a) Describe the function of SID and SOD pins of 8085 microprocessor

WINTER 12 EXAMINATION Subject Code : Model Answer Page No : / N. a) Describe the function of SID and SOD pins of 8085 microprocessor Subject Code : Model Answer Page No : / N Q.1) SOLVE ANY FIVE : (20 MARKS) a) Describe the function of SID and SOD pins of 8085 microprocessor Ans: - SID: - (2 Mark) Serial Input Data SID pin is used to

More information

Changing the Embedded World TM. Module 3: Getting Started Debugging

Changing the Embedded World TM. Module 3: Getting Started Debugging Changing the Embedded World TM Module 3: Getting Started Debugging Module Objectives: Section 1: Introduce Debugging Techniques Section 2: PSoC In-Circuit Emulator (ICE) Section 3: Hands on Debugging a

More information

Parallel-to-Serial and Serial-to-Parallel Converters

Parallel-to-Serial and Serial-to-Parallel Converters Session 1532 Parallel-to-Serial and Serial-to-Parallel Converters Max Rabiee, Ph.D., P.E. University of Cincinnati Abstract: Microprocessors (MPUs) on a computer motherboard communicate in a parallel format

More information

EEL 3801 Introduction to Computer Engineering Summer Home Work Schedule

EEL 3801 Introduction to Computer Engineering Summer Home Work Schedule EEL 3801 Introduction to Computer Engineering Summer 2005 Home Work Schedule Schedule of Assignments: Week HW# Due Points Title 1 07/05/05 3% Memory dump in assembly 2 07/19/05 3% Solve a Maze 3 08/02/05

More information

LABORATORY 1: EXPLORING THE SOFTWARE ARCHITECTURE OF THE MICROPROCESSOR

LABORATORY 1: EXPLORING THE SOFTWARE ARCHITECTURE OF THE MICROPROCESSOR LABORATORY 1: EXPLORING THE SOFTWARE ARCHITECTURE OF THE 80 86 MICROPROCESSOR NAME: STUDENT ID#: Objectives Learn how to: Bring up the DEBUG program. Examine and modify the contents of the 80 86 s code

More information

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

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

More information

COMP2121 Introductory Experiment

COMP2121 Introductory Experiment COMP2121 Introductory Experiment Objectives: In this introductory experiment, you will: Learn how to use AVR studio, an Integrated Development Environment (IDE) for developing AVR applications in Windows

More information

Emerald-MM-8Plus. PC/104-Plus 8-Port Multi-Protocol Serial Port Module. User Manual v1.04

Emerald-MM-8Plus. PC/104-Plus 8-Port Multi-Protocol Serial Port Module. User Manual v1.04 Emerald-MM-8Plus PC/104-Plus 8-Port Multi-Protocol Serial Port Module User Manual v1.04 Copyright 2006 1255 Terra Bella Ave. Mountain View, CA 94043 Tel (650) 810-2500 Fax (650) 810-2525 www.diamondsystems.com

More information

CG2007 Microprocessor systems.

CG2007 Microprocessor systems. CG2007 Microprocessor systems Tutorial 1 Semester 2 AY 2011-12 Ganesh Iyer ganesh.vigneswara@gmail.com http://ganeshniyer.com About Me I have 3 years of Industry work experience in Bangalore, India. I

More information