You are on page 1of 265

32-Bit Microprocessor

Digital and Microprocessor Electricity

>{Yg>7|
3091577100307

by

Instructors Guide

Edition 2 91577-10

SECOND EDITION

First Printing, July 2003

Copyright July, 2003 Lab-Volt Systems, Inc.

All rights reserved. No part of this publication may be reproduced, stored in a retrieval system,
or transmitted in any form by any means, electronic, mechanical, photocopied, recorded, or
otherwise, without prior written permission from Lab-Volt Systems, Inc.
Information in this document is subject to change without notice and does not represent a
commitment on the part of Lab-Volt Systems, Inc. The Lab-Volt F.A.C.E.T. software and
other materials described in this document are furnished under a license agreement or a
nondisclosure agreement. The software may be used or copied only in accordance with the terms
of the agreement.
ISBN 0-86657-239-2

Lab-Volt and F.A.C.E.T. logos are trademarks of Lab-Volt Systems, Inc.


All other trademarks are the property of their respective owners. Other trademarks and trade
names may be used in this document to refer to either the entity claiming the marks and names or
their products. Lab-Volt System, Inc. disclaims any proprietary interest in trademarks and trade
names other than its own.

Lab-Volt License Agreement


By using the software in this package, you are agreeing to
become bound by the terms of this License Agreement,
Limited Warranty, and Disclaimer.
This License Agreement constitutes the complete
agreement between you and Lab-Volt. If you do not agree
to the terms of this agreement, do not use the software.
Promptly return the F.A.C.E.T. Resources on Multimedia
(CD-ROM) compact discs and all other materials that are
part of Lab-Volt's F.A.C.E.T. product within ten days to
Lab-Volt for a full refund or credit.
1. License Grant. In consideration of payment of the license
fee, which is part of the price you paid for this Lab-Volt
product, Lab-Volt, as Licensor, grants to you, the Licensee, a
nonexclusive, nontransferable license to use this copy of the
CD-ROM software with the corresponding F.A.C.E.T. LabVolt reserves all rights not expressly granted to the Licensee.
2. Ownership. As the Licensee, you own the physical media
on which the CD-ROM is originally or subsequently recorded
or fixed, but Lab-Volt retains title to and ownership of the
software programs recorded on the original compact disc and
any subsequent copies of the CD-ROM, regardless of the
form or media in or on which the original and other copies
may exist. This license is not a sale of the original software
program of Lab-Volt's CD-ROM or any portion or copy of it.
3. Copy Restrictions. The CD-ROM software and the
accompanying materials are copyrighted and contain
proprietary information and trade secrets of Lab-Volt.
Unauthorized copying of the CD-ROM even if modified,
merged, or included with other software or with written
materials is expressly forbidden. You may be held legally
responsible for any infringement of Lab-Volt's intellectual
property rights that is caused or encouraged by your failure to
abide by the terms of this agreement. You may make copies
of the CD-ROM solely for backup purposes provided the
copyright notice is reproduced in its entirety on the backup
copy.
4. Permitted Uses. This CD-ROM, Instructor's Guide, and all
accompanying documentation is licensed to you, the
Licensee, and may not be transferred to any third party for
any length of time without the prior written consent of LabVolt. You may not modify, adapt, translate, reverse engineer,
decompile, disassemble, or create derivative works based on
the Lab-Volt product without the prior written permission of
Lab-Volt. Written materials provided to you may not be
modified, adapted, translated, or used to create derivative
works without the prior written consent of Lab-Volt.
5. Termination. This agreement is effective until terminated.
It will terminate automatically without notice from Lab-Volt
if you fail to comply with any provisions contained herein.
Upon termination you shall destroy the written materials,
Lab-Volt's CD-ROM software, and all copies of them, in part
or in whole, including modified copies, if any.

6. Registration. Lab-Volt may from time to time update the


CD-ROM. Updates can be made available to you only if a
properly signed registration card is filed with Lab-Volt or an
authorized registration card recipient.
7. Miscellaneous. This agreement is governed by the laws of
the State of New Jersey.

Limited Warranty and Disclaimer


This CD-ROM software has been designed to assure correct
operation when used in the manner and within the limits
described in this Instructor's Guide. As a highly advanced
software product, it is quite complex; thus, it is possible that if
it is used in hardware configurations with characteristics other
than those specified in this Instructor's Guide or in
environments with nonspecified, unusual, or extensive other
software products, problems may be encountered by a user. In
such cases, Lab-Volt will make reasonable efforts to assist the
user to properly operate the CD-ROM but without
guaranteeing its proper performance in any hardware or
software environment other than as described in this
Instructor's Guide.
This CD-ROM software is warranted to conform to the
descriptions of its functions and performance as outlined in
this Instructor's Guide. Upon proper notification and within a
period of one year from the date of installation and/or
customer acceptance, Lab-Volt, at its sole and exclusive
option, will remedy any nonconformity or replace any
defective compact disc free of charge. Any substantial
revisions of this product, made for purposes of correcting
software deficiencies within the warranty period, will be
made available, also on a licensed basis, to registered owners
free of charge. Warranty support for this product is limited, in
all cases, to software errors. Errors caused by hardware
malfunctions or the use of nonspecified hardware or other
software are not covered.
LICENSOR MAKES NO OTHER WARRANTIES OF ANY KIND
CONCERNING THIS PRODUCT, INCLUDING WARRANTIES
OR MERCHANTABILITY OR OF FITNESS FOR A
PARTICULAR PURPOSE. LICENSOR DISCLAIMS ALL
OBLIGATIONS AND LIABILITIES ON THE PART OF
LICENSOR FOR DAMAGES, INCLUDING BUT NOT LIMITED
TO SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT
OF OR IN CONNECTION WITH THE USE OF THE SOFTWARE
PRODUCT LICENSED UNDER THIS AGREEMENT.

Questions concerning this agreement and warranty and all


requests for product repairs should be directed to the Lab-Volt
field representative in your area.
LAB-VOLT SYSTEMS, INC.
P.O. Box 686
Farmingdale, NJ 07727
Attention: Program Development
Phone: (732) 938-2000 or (800) LAB-VOLT
Fax: (732) 774-8573
Technical Support: (800) 522-4436
Technical Support E-Mail: techsupport@labvolt.com

THIS

Table of Contents
Section 1 Workstation Inventory and Installation............................................................... 1-1
Inventory of Workstation ........................................................................................................ 1-1
Minimum Computer Requirements.................................................................................... 1-1
Equipment and Supplies..................................................................................................... 1-1
Equipment Installation ............................................................................................................ 1-1
Software Installation ............................................................................................................... 1-1
Section 2 Introduction to FACET Curriculum .................................................................... 2-1
Getting Started ........................................................................................................................ 2-2
Screen Buttons ........................................................................................................................ 2-3
FACET Help Screens and Resources...................................................................................... 2-4
Internet Access ........................................................................................................................ 2-5
Instructor Annotation Tool...................................................................................................... 2-5
Student Journal........................................................................................................................ 2-5
Assessing Progress .................................................................................................................. 2-6
Real-Number Questions and Answers .................................................................................... 2-8
Recall Values in Text ............................................................................................................ 2-10
Safety .................................................................................................................................... 2-10
Safety .................................................................................................................................... 2-11
Section 3 Courseware ............................................................................................................. 3-1
Unit 1 Trainer Familiarization .............................................................................................. 3-1
Exercise 1 Introduction to the Trainer ................................................................................. 3-4
Exercise 2 Operating the Trainer ....................................................................................... 3-12
Unit 2 Bus Operations .......................................................................................................... 3-21
Exercise 1 Bus States ......................................................................................................... 3-24
Exercise 2 32-Bit Bus Transfers ........................................................................................ 3-30
Exercise 3 Read and Write Cycles ..................................................................................... 3-37
Exercise CPU Initialization................................................................................................ 3-42
Unit 3 Memory Interfacing .................................................................................................. 3-51
Exercise 1 Memory Control Signals .................................................................................. 3-54
Exercise 2 Memory Address Decoding.............................................................................. 3-64
Exercise 3 Memory Data Transfers.................................................................................... 3-73

Unit 4 I/O Interfacing ........................................................................................................... 3-81


Exercise 1 DAC and ADC Ports ........................................................................................ 3-82
Exercise 2 PPI and Keypad Interface................................................................................. 3-88
Exercise 3 Display and Serial Port..................................................................................... 3-95
Unit 5 Interrupt Processing................................................................................................ 3-103
Exercise 1 Non-Maskable Interrupts................................................................................ 3-107
Exercise 2 Maskable Interrupts........................................................................................ 3-115
Exercise 3 Exceptions ...................................................................................................... 3-124
Unit 6 Programming: Addressing Modes ......................................................................... 3-135
Exercise 1 Immediate and Register Addressing Modes................................................... 3-137
Exercise 2 Memory Addressing Modes - I ...................................................................... 3-144
Exercise 3 Memory Addressing Modes - II ..................................................................... 3-152
Unit 7 Programming: 80386 CPU Instructions................................................................ 3-159
Exercise 1 Instruction Formats - I.................................................................................... 3-160
Exercise 2 Instruction Formats - II................................................................................... 3-169
Exercise 3 Using the 80386 CPU Instructions - I ............................................................ 3-178
Exercise 4 Using the 80386 CPU Instructions - II........................................................... 3-186
Unit 8 Troubleshooting....................................................................................................... 3-195
Unit 9 Microprocessor Applications (Optional)............................................................... 3-199
Exercise 1 Application Board Familiarization................................................................. 3-201
Exercise 2 DC Motor Control .......................................................................................... 3-206
Exercise 3 Temperature Control ...................................................................................... 3-213
Appendix A Pretest and Posttest Questions and Answers ................................................. A-1
Appendix B Faults and Circuit Modifications (CMs) .........................................................B-1
Appendix C Board and Courseware Troubleshooting ....................................................... C-1

ii

Introduction
This Instructor Guide is divided into three sections and the appendices. It provides a unit-by-unit
outline of the Fault Assisted Circuits for Electronics Training (FACET) curriculum.
Section 1 Workstation Inventory and Installation contains a list and description of
equipment and materials required for all units in this course of study as well as installation
instructions.
Section 2 Introduction to FACET Curriculum provides a description of the courseware
structure, instructions on getting started with the multimedia presentation, and an explanation of
student-progress assessment methods.
Section 3 Courseware includes information that enables the instructor to gain a general
understanding of the units within the course.

The unit objective


Unit Fundamentals questions and answers
A list of new terms and words for the unit
Equipment required for the unit
The exercise objectives
Exercise Discussion questions and answers
Exercise Procedure questions and answers
Review questions and answers
CMs and Faults available
Unit Test questions and answers
Troubleshooting questions and answers (where applicable)

Appendices include the questions and answers to the Pretest and Posttest plus additional specific
information on faults and circuit modifications (CMs).
Please complete and return the OWNER REGISTRATION CARD included with the CDROM. This will assist Lab-Volt in ensuring that our customers receive maximum support.

iii

THIS

iv

SECTION 1 WORKSTATION INVENTORY


AND INSTALLATION

THIS

32 Bit Microprocessor

Section 1 Workstation Inventory and Installation

SECTION 1 WORKSTATION INVENTORY AND INSTALLATION


Inventory of Workstation
Use this section to identify and inventory the items needed.
Minimum Computer Requirements
100% compatible WindowsPC with Windows98 second edition or newer, NT, 2000, Me or XP;
Pentium class CPU, (Pentium II or newer); 126 MB RAM; 10 GB HDD; CD-ROM drive; SVGA
monitor and video card capable of 32-bit color display at 1024 x 768 resolution and sound
capabilities.
Equipment and Supplies
The following equipment and supplies are needed for 32 Bit Microprocessor:
Quantity
1
1
1
1
1

Description
F.A.C.E.T. base unit
Multimeter
Oscilloscope, dual trace
32-BIT MICROPROCESSOR circuit board
Student Workbook
Instructor Guide
MICROPROCESSOR APPLICATION BOARD (optional)

Equipment Installation
To install the hardware, refer to the Tech-Lab (minimum version 6.x) Installation Guide..

Software Installation
Third Party Application Installation
All applications and files that the courseware launches, or that are required for the course should
be installed before the courseware. Load all third party software according to the manufacturers'
directions. Install this software to the default location and note that location. (Alternatively, you
can install this software to a different location that you designate.) Remember to register all
software as required.
No third-party software is required for this course.
Installation of Courseware and Resources
To install the courseware and resources, refer to the Tech-Lab (minimum version 6.x) and
Gradepoint 2020 (minimum version 6.x) Installation Guide.
1-1

32 Bit Microprocessor

Section 1 Workstation Inventory and Installation

1-2

SECTION 2 INTRODUCTION TO FACET


CURRICULUM

THIS

32 Bit Microprocessor

Section 2 Introduction to FACET Curriculum

SECTION 2 INTRODUCTION TO FACET CURRICULUM


Overview
FACET curriculum is multimedia-based courseware. The curriculum gives students hands-on
experience using equipment and software closely associated with industry standards. It provides
students with opportunities for instruction in academic and technical skills.
All courses are activity-driven curricula. Each course consists of several units containing two or
more exercises. Each unit begins with a statement explaining the overall goal of the unit (Unit
Objective). This is followed by Unit Fundamentals. Next is a list of new terms and words then
the equipment required for the unit. The exercises follow the unit material. When students
complete all the exercises, they complete the Troubleshooting section and take the Unit Test.
The exercises consist of an exercise objective, exercise discussion, and exercise procedures. The
Exercise Conclusions section provides the students with a list of their achievements. Every
exercise concludes with Review Questions. Available circuit modifications (CMs) and faults are
listed after the review questions. Additional specific information on CMs and faults is available
in Appendix B.

2-1

32 Bit Microprocessor

Section 2 Introduction to FACET Curriculum

Getting Started
Desktop
After the Tech-Lab System is installed, the TechLab icon appears on the desktop.
1. Click on the TechLab icon.
2. The student clicks on LOGON and selects his or her name.
3. The student enters his or her password and clicks on OK. (If he or she is creating a password,
four alphanumeric characters must be entered. The system will ask for the password to be
entered again for verification. Keep a record of the students' passwords.)
4. The previous two steps are repeated until all members of the student team have logged on.
Click on Complete and then Yes.
5. When the Available Courses menu appears, students click on the course name.
6. A window with the name of the course and a list of units for that course appears. Students
click on the unit name. The unit title page appears and the students are ready to begin.
Selecting Other Courses and Exiting the Courseware
1. Clicking on Exit when in a unit returns the student to the list of units for that course.
2. If students wish to select another unit, they click on it.
3. If students wish to exit FACET, they click on the X symbol in the upper right corner.
4. If students wish to exit another course, they click on the Course Menu button. The Available
Courses menu screen appears. They may also exit FACET from this screen by clicking on the
LOGOFF button.

2-2

32 Bit Microprocessor

Section 2 Introduction to FACET Curriculum

Screen Buttons
If you click on the FACET logo on the top right of the unit title page the About screen appears. It
acknowledges the copyright holder(s) of video and/or screen-capture material used in the topic.
The Menu button calls these menus:
when on an exercise menu screen, it calls the Unit Menu.
when on an exercise screen, it calls the Exercise Menu.
when on a unit screen, it calls the Unit Menu.
The Bookmark button marks the current screen. A student can click on the button at any time in
the lesson. The second time the student clicks on the button, the page displayed when the button
was first clicked will return to the screen. Any bookmarks used during a lesson are not saved
when the student logs out of the lesson.
The Application Launch button opens third-party software.
Click on the Resources button to view a pop-up menu. The pop-up menu includes access to a
calculator, a student journal, new terms and words, a print current screen option, the Lab-Volt
authored Internet Website, and a variety of FACET help screens.
The Help button aids students with system information. On certain screens the Help button
appears to be depressed. On these screens, clicking on the Help button will access Screen Help
windows (context-sensitive help).
The Internet button opens an Internet browser. Students will have unrestricted access to all
search engines and web sites unless the school administration has restricted this usage.
Use the Exit button to exit the course.
The right arrow button moves you forward to the next screen.
The left arrow button moves you backward to the previous screen.

2-3

32 Bit Microprocessor

Section 2 Introduction to FACET Curriculum

FACET Help Screens and Resources


There are three ways to access FACET help screens and other resources.
System Help
Students access System Help by clicking on the Help button at the bottom of the screen when the
button does not appear to be depressed. The menu selections access a variety of system help,
navigation, and information windows.
Screen Help
On certain screens, the Help button appears to be depressed. On these screens, clicking on the
Help button will access Screen Help windows. This is information specific to the content of that
particular screen.
Resources
Students click on the Resources button to access the following windows.
Calculator
FACET 32-Bit Microprocessor Help
FACET Analog Communications Setup Procedure
FACET Digital Communications Help
FACET Electronics and Troubleshooting Help
FACET Fiber Optic Communications Help
FACET Math Help
Internet Link
New Terms and Words
Print Current Page
Student Journal

2-4

32 Bit Microprocessor

Section 2 Introduction to FACET Curriculum

Internet Access
There are two ways for students to access the Internet:
The Internet button opens an Internet browser. Students have unrestricted access to all search
engines and websites unless the school administration has restricted this usage.
The Resources button pops up a menu that includes access to the Lab-Volt
authored Internet website. If students wish to access this site when they are not in
the lesson, then they must go to http://learning.labvolt.com.
NOTE: The Lab-Volt Internet site does not have content-filtering
software to block access to objectionable or inappropriate
websites.

Instructor Annotation Tool


The annotation tool gives the instructor the ability to add comments or additional information
onscreen. Refer to the Tech-Lab and GradePoint 2020 Installation Guide for detailed
information.

Student Journal
The student journal is an online notebook that each student can access while they are logged into
TechLab. The journal allows students to share notes with other students in their workgroups.
When used in conjunction with GradePoint 2020, the instructor may post messages, review, edit,
or delete any journal note.

2-5

32 Bit Microprocessor

Section 2 Introduction to FACET Curriculum

Assessing Progress
Assessment Tools
Student assessment is achieved in several ways:

Exercise questions
Unit tests
Pretest and Posttest
Troubleshooting questions

Exercise and Troubleshooting Questions


Throughout the unit material, exercise discussion, exercise procedure, and troubleshooting
sections there are several types of questions with instant feedback. These questions occur in the
following formats:
Multiple choice
True-false
Real-number entry
In most cases, when your students encounter a question set, they must answer these questions
before continuing. However, there are cases where students may progress to the next screen
without answering the questions. Lab-Volt recommends that you encourage your students to
complete all questions. In this way, students reinforce the material that's presented, verify that
they understand this material, and are empowered to decide if a review of this material is
required.
Review Questions
At the end of each exercise, there are review questions. The student receives feedback with each
entry. Feedback guides the student toward the correct answer.
Unit Tests
A unit test appears at the end of each unit. The test consists of 10 multiple-choice questions with
the option of having feedback. The Tech-Lab System defaults to no feedback, but the instructor
can configure the test so that students receive feedback after taking the test. You can randomize
questions in the unit test. Use the Tech-Lab Global Configurator to make feedback available,
randomize questions, and select other configuration options if desired. Refer to the Tech Lab
Quick-Start Guide for detailed information.

2-6

32 Bit Microprocessor

Section 2 Introduction to FACET Curriculum

Pretest and Posttest


Every course includes a pretest and a posttest. These are multiple choice tests. Refer to the Tech
Lab Quick-Start Guide for detailed information on how to record student competency gains.
Grading
Student grades are based on exercise questions, troubleshooting questions, a unit test, and a
posttest. The default weighting value of the unit test and the threshold for passing the unit test
can be adjusted by using the Global Configurator of the Tech-Lab System. Refer to the Tech Lab
Quick-Start Guide for detailed information.
Student Progress and Instructor Feedback
Unit progress is available through the Unit menu. The Progress window allows the instructor and
student to view the percentage of the unit completed, number of sessions, and time spent on that
unit. The Progress window shows whether the Unit Test was completed. If the test was
completed, it indicates whether the student passed based on the scoring criteria.

2-7

32 Bit Microprocessor

Section 2 Introduction to FACET Curriculum

Real-Number Questions and Answers


Throughout FACET courses students may encounter real-number questions such as the one
shown below. Answers to real-number questions are graded correct if they fall within an
acceptable tolerance range.

The computer
saves this input
value so that it can
be recalled for use
in later questions.

The answer to the question posed in the illustration above does not involve a recall value from a
previous question. It appears in the Instructor Guide (IG) as shown in the box below.
The information in the IG tells you where the question is located and the range of acceptable
answers. In this case, the acceptable answers fall within the range of the nominal answer plus or
minus 5 percent tolerance: (15 5%).
e1p1 stands for
Exercise 1 Procedure screen 1
Location: Exercise Procedure page:
se1p1, Question ID: e1p1a
VS =

Vdc

Recall Label for this Question: V1


Nominal Answer: 15.0
Min/Max Value: (14.25) to (15.75)
Value Calculation: 15.000
Correct Tolerance Percent = true
Correct Minus Tolerance = 5
Correct Plus Tolerance = 5

This is the name the computer uses internally


to identify the input value. In this case, 14.5
will be stored under the name V1.
NOTE: The recall value V1 is not the same as
the voltage V1. The recall label does not
appear onscreen.
In this case, the answer to this question is not
based on a value recalled from a previous
question. Therefore, the Value Calculation is
equal to the Nominal Answer.
The word "true" tells you that the tolerance is
calculated as a percent.

2-8

32 Bit Microprocessor

Section 2 Introduction to FACET Curriculum

A second example (shown below) illustrates an answer that the computer grades using a value
recalled from a previous question.

When a real-number question is based on a recall value from a previous question, the Min/Max
Value shown in the Instructor Guide is based upon a calculation using the lowest and highest
possible recall value. It represents the theoretical range of answers that could be accepted by the
computer. (It is not the nominal answer plus or minus the tolerance.)
To find the actual range of answers that the computer will accept onscreen, you must use the
actual recall value (14.5 in this example) in your calculations; see below.
Location: Exercise Procedure page:
se1p5, Question ID: e1p5c

Any letter enclosed in "#" signs refers to a


recall value from a previous question.

IT =

Since the value for #V1# is 14.5, the


computer will accept answers in the
following range as correct:

mA

Recall Label for this Question: I1


Nominal Answer: 9.091
*
Min/Max Value: (6.477) to (11.93)
Value Calculation: #V1#/1650*1000
Correct Tolerance Percent = true
Correct Minus Tolerance = 25
Correct Plus Tolerance = 25

14.5/1650*1000 25% or
8.79 25% or
6.59 to 10.99
This calculated range is different from the
Min/Max Value shown in the IG, which
was based upon a calculation using the
lowest and highest possible recall value.

NOTE: After four incorrect answers, students will be prompted to press <Ins> to insert the
correct answer if this feature has been enabled in the configuration settings. When the question is
based on a value recalled from a previous question, answers obtained using the Insert key may
not match the nominal answers in this guide.

2-9

32 Bit Microprocessor

Section 2 Introduction to FACET Curriculum

Recall Values in Text


Sometimes numbers displayed on screen are values recalled from input on previous screens.
Because these numbers are recall values, they will change for each student.

The value of 10
was recalled
from a previous
screen.

The Instructor Guide lists the recall label in place of a number in this question.

This is a
recall label
for a value
recorded in a
previous
question.

The correct
answer will
depend on the
value the student
recorded in the
previous question.

Location:Exercise Procedure page: se1p11, Question ID: e1p11c


IR2 = VR2/R2
= #V4#/3.3 k
=
mA
Recall Label for this Question: I1
Nominal Answer: 2.818
Min/Max Value: (2.489) to (3.164)
Value Calculation: #V4#/3.3
Correct Tolerance Percent = true
Correct Minus Tolerance = 4
Correct Plus Tolerance = 4

2-10

32 Bit Microprocessor

Section 2 Introduction to FACET Curriculum

Safety
Safety is everyones responsibility. All must cooperate to create the safest possible working
environment. Students must be reminded of the potential for harm, given common sense safety
rules, and instructed to follow the electrical safety rules.
Any environment can be hazardous when it is unfamiliar. The FACET computer-based
laboratory may be a new environment to some students. Instruct students in the proper use of the
FACET equipment and explain what behavior is expected of them in this laboratory. It is up to
the instructor to provide the necessary introduction to the learning environment and the
equipment. This task will prevent injury to both student and equipment.
The voltage and current used in the FACET Computer-Based Laboratory are, in themselves,
harmless to the normal, healthy person. However, an electrical shock coming as a surprise will
be uncomfortable and may cause a reaction that could create injury. The students should be made
aware of the following electrical safety rules.
1. Turn off the power before working on a circuit.
2. Always confirm that the circuit is wired correctly before turning on the power. If required,
have your instructor check your circuit wiring.
3. Perform the experiments as you are instructed: do not deviate from the documentation.
4. Never touch live wires with your bare hands or with tools.
5. Always hold test leads by their insulated areas.
6. Be aware that some components can become very hot during operation. (However, this is not
a normal condition for your F.A.C.E.T. course equipment.) Always allow time for the
components to cool before proceeding to touch or remove them from the circuit.
7. Do not work without supervision. Be sure someone is nearby to shut off the power and
provide first aid in case of an accident.
8. Remove power cords by the plug, not by pulling on the cord. Check for cracked or broken
insulation on the cord.

2-11

32 Bit Microprocessor

Section 2 Introduction to FACET Curriculum

2-12

SECTION 3 COURSEWARE

SECTION 3 COURSEWARE

THIS

32 Bit Microprocessor

Unit 1 Trainer Familiarization

UNIT 1 TRAINER FAMILIARIZATION

UNIT OBJECTIVE
Locate and describe the various components on your circuit board, and demonstrate basic trainer
functions.
UNIT FUNDAMENTALS
Location: Unit Fundamentals page: sf3, Question ID: f3a
What other system components can communicate with the CPU in your computer via I/O
devices?
a. printer
b. mouse
c. disk drive
d. all of the above.
Location: Unit Fundamentals page: sf5, Question ID: f5a
maximum # =
Recall Label for this Question: None
Nominal Answer: 65536.0
Min/Max Value: (65536) to (65536)
Value Calculation: 65536.000
Correct Tolerance Percent = true
Correct Minus Tolerance = 0
Correct Plus Tolerance = 0
Location: Unit Fundamentals page: sf7, Question ID: f7a
Which of these is an input device?
a. keypad
b. LCD display
c. LEDs
CMS AVAILABLE
None
FAULTS AVAILABLE
None

3-1

32 Bit Microprocessor

Unit 1 Trainer Familiarization

NEW TERMS AND WORDS


data bus - a group of bidirectional lines used for transferring data between a microprocessor and
memory or I/O devices.
address bus - a group of output signals from a microprocessor used for specifying a location in
which data is to be read or written.
registers - a temporary storage area inside a microprocessor that holds system status information,
results of calculations, and other values.
monitor - a program that performs system initialization functions and allows interaction between
the CPU and the user.
Programmable Peripheral Interface (PPI) - a support IC that manages data transfers between
the CPU and several external devices.
interrupt - an operation in which the CPU stops what it is doing and saves its place in the
program to perform another task. When the task is completed, the CPU returns to its former
place in the program.
Programmable Interrupt Controller - a support IC that manages interrupt signals from several
external devices.
bus cycle - a complete data transfer cycle, including a bus request from the microprocessor and a
response from an external device.
physical address - the address that the CPU places on the address bus.
logical address - an eight-digit representation of the physical address, written in the
form AAAA:BBBB (segment:offset).
segment - a 64 Kbyte section of memory.
offset - the distance (in bytes) of a given location from the segment base.
segment base - the first address in a segment.
function mode - a keypad operating mode that exists when you reset the CPU.
memory mode - a keypad operating mode that allows you to view or change memory bytes.
Mnemonic - an abbreviated form of an instruction that is written in a way that makes it easy to
recall the function.
assembly language - a programming language that uses words, statements, and phrases to
produce CPU instructions.
loop - a series of instructions that repeats itself continuously or for a specific number of times.
microprocessor - a computer element that contains the control unit, central processing circuitry,
and arithmetic and logic functions; also called the Central Processing Unit (CPU).
logic probe - a device for digital troubleshooting and signal tracing that has LEDs to indicate
logic levels and pulse activity.
programs - a series of instructions stored in memory to be executed or carried
out by a microprocessor.
byte - a group of eight bits transferred or operated on as a unit.
register mode - a keypad operating mode that allows you to view or change the contents of the
CPU's internal registers.

3-2

32 Bit Microprocessor

Unit 1 Trainer Familiarization

EQUIPMENT REQUIRED
F.A.C.E.T. base unit
Multimeter
Oscilloscope, dual trace
32-BIT MICROPROCESSOR circuit board

3-3

32 Bit Microprocessor

Unit 1 Trainer Familiarization

Exercise 1 Introduction to the Trainer


EXERCISE OBJECTIVE
Locate and describe the various components and circuit blocks on the 32-BIT
MICROPROCESSOR circuit board.
EXERCISE DISCUSSION
Location: Exercise Discussion page: se1d4, Question ID: e1d4a
There are three headers in the CPU block: JP1, JP2, and JP3. Which header has the fewest pins?
a. JP1
b. JP2
c. JP3
d. All have the same number of pins.
Location: Exercise Discussion page: se1d5, Question ID: e1d5a
Although JP1 and JP2 both have 32 signal connections, there are 34 pins on each header. By
looking at the CPU circuit block, you can determine that two pins on each header are
a. ground connections.
b. VCC connections.
c. not used.
Location: Exercise Discussion page: se1d6, Question ID: e1d6a
Memory/Input-Output# (M/IO#) distinguishes between memory and I/O operations. What logic
level indicates a memory operation?
a. 0
b. 1
Location: Exercise Discussion page: se1d9, Question ID: e1d9a
Which memory block does not have headers?
a. MONITOR ROM
b. USER ROM
c. RAM

3-4

32 Bit Microprocessor

Unit 1 Trainer Familiarization

Location: Exercise Discussion page: se1d12, Question ID: e1d12a


What other circuit block has a clock oscillator?
a. CPU
b. MONITOR ROM
c. BUS CONTROL
Location: Exercise Discussion page: se1d14, Question ID: e1d14a
number of codes =
Recall Label for this Question: None
Nominal Answer: 16.0
Min/Max Value: (16) to (16)
Value Calculation: 16.000
Correct Tolerance Percent = true
Correct Minus Tolerance = 0
Correct Plus Tolerance = 0
Location: Exercise Discussion page: se1d15, Question ID: e1d15a
Which of these ports can be used as an output port?
a. Port B
b. Port C
c. Both of the above.
Location: Exercise Discussion page: se1d16, Question ID: e1d16a
You can use a shunt on the 3-pin header to select an output voltage range of 0 - 10 Vdc or 0 2.56 Vdc. Which range is selected in the figure?
a. 0 - 10 Vdc
b. 0 - 2.56 Vdc
Location: Exercise Discussion page: se1d17, Question ID: e1d17a
Both the ADC and DAC blocks have jacks for an external analog connection (ADC IN
and DAC OUT). In which other circuit block are these signals available?
a. SERIAL PORT
b. PARALLEL PORT
c. CPU

3-5

32 Bit Microprocessor

Unit 1 Trainer Familiarization

Location: Exercise Discussion page: se1d19, Question ID: e1d19a


You can use a shunt to connect one of the top pins to the interrupt input directly below it to allow
the other circuit block(s) to interrupt the CPU. Which signal can be shunted to IR4?
a. INTRA
b. INTRB
c. RXC
d. DR#
Location: Exercise Discussion page: se1d20, Question ID: e1d20a
Which circuit block loses power when the PWR switch is in its down position?
a. only the CPU block
b. only the POWER SUPPLY block
c. all circuit blocks
Location: Exercise Discussion page: se1d24, Question ID: e1d24a
Which hexadecimal key can also be used for the READ function?
a. 1
b. 7
c. C
d. F
Location: Exercise Discussion page: se1d28, Question ID: e1d28a
What binary number is shown on address LEDs A0-A7?
a. 1010 0110
b. 1110 0111
c. 0001 1000
Location: Exercise Discussion page: se1d28, Question ID: e1d28c
The LEDs are arranged in groups of four because
a. the CPU transfers four bits at a time.
b. four binary bits equal one hexadecimal digit.

3-6

32 Bit Microprocessor

Unit 1 Trainer Familiarization

Location: Exercise Discussion page: se1d30, Question ID: e1d30a


How many digits of hexadecimal information can you view in each LED block?
a. 4
b. 8
c. 16
Location: Exercise Discussion page: se1d31, Question ID: e1d31a
What is the complete hex value shown on the data LEDs?
a. E098 D26A
b. D26A E098
c. A62D 890E
EXERCISE PROCEDURE
Location: Exercise Procedure page: se1p4, Question ID: e1p4a
What message does the CPU display on the LCD to let you know it is ready for operation?
a. "Read Address?"
b. "Lab-Volt 32 bit PROC. Trainer"
Location: Exercise Procedure page: se1p9, Question ID: e1p9a
1. Aside from the PWR LED, what indication(s) tell you that power is applied to your circuit
board?
a. address and data LEDs on
b. logic probe LED on
c. Both of the above.
Location: Exercise Procedure page: se1p9, Question ID: e1p9c
What message appears in the LCD display?
a. "Lab-Volt 32 bit PROC. Trainer"
b. "Read Address?"
c. Neither of the above.
Location: Exercise Procedure page: se1p9, Question ID: e1p9e
Why hasn't the startup message "Lab-Volt 32 bit PROC. Trainer" appeared?
a. The CPU is in single cycle mode.
b. The address and data selector switches are set to LOW.

3-7

32 Bit Microprocessor

Unit 1 Trainer Familiarization

Location: Exercise Procedure page: se1p12, Question ID: e1p12a


In which circuit block is JP3 located?
a. PARALLEL PORT
b. CPU
c. IR CONTROLLER
Location: Exercise Procedure page: se1p13, Question ID: e1p13a
Does the waveform on the scope match the top waveform (BS16#) shown in the figure?
a. yes
b. no
Location: Exercise Procedure page: se1p14, Question ID: e1p14a
Which CH 2 connection results in the bottom waveform shown in the figure?
a. BE0#
b. BE1#
c. BE2#
d. BE3#
Location: Exercise Procedure page: se1p17, Question ID: e1p17a
If a pulsing waveform is not symmetrical, the HIGH and LOW LED brightness levels are
different. For which type of waveform is the HIGH LED brighter than the LOW LED?
a. repeating high pulse
b. repeating low pulse
Location: Exercise Procedure page: se1p19, Question ID: e1p19a
According to the logic probe, what type of signal is UROMS#?
a. high level
b. low level
c. square wave
Location: Exercise Procedure page: se1p20, Question ID: e1p20a
Which signal is a repeating low pulse?
a. L0
b. L1
c. L2

3-8

32 Bit Microprocessor

Unit 1 Trainer Familiarization

Location: Exercise Procedure page: se1p21, Question ID: e1p21a


What can you conclude from the waveform and the logic probe indications?
a. The LEDs indicate a different waveform type than the one shown on the scope.
b. The LEDs indicate the same waveform type as the one shown on the scope.
Location: Exercise Procedure page: se1p23, Question ID: e1p23a
The logic probe indicates that ADS# is
a. at a high level.
b. at a low level.
c. pulsing.
Location: Exercise Procedure page: se1p24, Question ID: e1p24a
23. Turn on the SINGLE CYCLE switch. What indications show that the CPU is now in the
single cycle mode?
a. ADS# has stopped pulsing.
b. The address and data LEDs have all assumed a steady on or off level.
c. Both of the above.
Location: Exercise Procedure page: se1p25, Question ID: e1p25a
24. Observe the logic probe LEDs as you press STEP several times. What happens as you press
STEP?
a. The ADS# level alternates between high and low with each step.
b. A short pulse appears on the PULSE LED with each step.
c. Both of the above.

3-9

32 Bit Microprocessor

Unit 1 Trainer Familiarization

REVIEW QUESTIONS
Location: Review Questions page: se1r1, Question ID: e1r1
1. What step(s) must you perform to start up the 32-BIT MICROPROCESSOR circuit board?
a. Set the control switches to their correct initial conditions.
b. Make sure the CPU is in the run mode.
c. Set some of shunts to their correct initial conditions.
d. All of the above.
Location: Review Questions page: se1r2, Question ID: e1r2
2. What type of waveform is indicated by the logic probe LEDs?
a. high level
b. low level
c. repeating high pulse
d. repeating low pulse
Location: Review Questions page: se1r3, Question ID: e1r3
3. In which circuit block can you monitor the signal INTRA?
a. IR CONTROLLER
b. CPU
c. PARALLEL PORT
d. SERIAL PORT
Location: Review Questions page: se1r4, Question ID: e1r4
4. When the CPU starts up in the run mode, you cannot read the address and data LEDs because
a. the wrong information is displayed.
b. the information is constantly changing.
c. the STEP switch has not been pressed.
d. the LEDs are turned off.
Location: Review Questions page: se1r5, Question ID: e1r5
5. Which circuit block synchronizes control signals between the CPU and its support circuitry?
a. DAC
b. ADC
c. BUS CONTROL
d. PARALLEL PORT

3-10

32 Bit Microprocessor

Unit 1 Trainer Familiarization

CMS AVAILABLE
None
FAULTS AVAILABLE
None

3-11

32 Bit Microprocessor

Unit 1 Trainer Familiarization

Exercise 2 Operating the Trainer


EXERCISE OBJECTIVE
Perform the basic keypad functions of the 32-BIT MICROPROCESSOR circuit board. Verify
results by reading the data and prompts on the LCD display.
EXERCISE DISCUSSION
Location: Exercise Discussion page: se2d1, Question ID: e2d1a
How many hexadecimal digits correspond to 20 binary bits?
a. 4
b. 5
c. 8
Location: Exercise Discussion page: se2d4, Question ID: e2d4a
What other logical address also equals the physical address 04050?
a. 0402:0030
b. 0403:0020
c. 0200:2050
d. All of the above.
Location: Exercise Discussion page: se2d5, Question ID: e2d5a
Which hexadecimal keys correspond to these functions?
a. 1,2,3,4
b. C,D,E,F
c. 3,A,9,C
Location: Exercise Discussion page: se2d7, Question ID: e2d7a
In which form should you enter the address?
a. physical
b. logical

3-12

32 Bit Microprocessor

Unit 1 Trainer Familiarization

Location: Exercise Discussion page: se2d8, Question ID: e2d8a


What is the physical address of the byte AA?
a. FFC04
b. FFC05
c. FFC06
d. FFC07
Location: Exercise Discussion page: se2d10, Question ID: e2d10a
How many registers can you select?
a. 8
b. 16
Location: Exercise Discussion page: se2d14, Question ID: e2d14a
How many bits do the CS and IP registers contain?
a. 8
b. 16
c. 32
Location: Exercise Discussion page: se2d15, Question ID: e2d15a
Which of these registers contains 32 bits of information?
a. SS
b. ESP
Location: Exercise Discussion page: se2d17, Question ID: e2d17a
What other function is associated with this key?
a. auto
b. read
c. step

3-13

32 Bit Microprocessor

Unit 1 Trainer Familiarization

EXERCISE PROCEDURE
Location: Exercise Procedure page: se2p2, Question ID: e2p2a
2. Press <READ>. What message appears in the LCD display?
a. Lab-Volt 32 bit Proc. Trainer
b. Read Address?
c. Goto Address?
Location: Exercise Procedure page: se2p3, Question ID: e2p3a
The display shows the address as 04000 instead of 00004000 because you entered a
a. logical address and the display shows a physical address.
b. physical address and the display shows a logical address.
Location: Exercise Procedure page: se2p4, Question ID: e2p4a
The 11 appears in the first byte position. The second byte did not change because
a. you can enter only one byte at a time by using the WRT key.
b. RESET must be pressed before another byte is entered.
Location: Exercise Procedure page: se2p5, Question ID: e2p5a
What happens when you enter the last digit?
a. All the bytes you entered are shown in the display.
b. The display shows eight different bytes beginning at address 04008.
Location: Exercise Procedure page: se2p5, Question ID: e2p5c
5. Which key is more efficient to use if you need to enter a long program?
a. AUTO
b. WRT
Location: Exercise Procedure page: se2p10, Question ID: e2p10a
What instruction byte is located at address FFC14?
a. A3
b. 04
c. 50

3-14

32 Bit Microprocessor

Unit 1 Trainer Familiarization

Location: Exercise Procedure page: se2p12, Question ID: e2p12a


What instruction code has the mnemonic, mov ebx ds:[5004H]
a. 66 8B 1E 00 50
b. 66 8B 1E 04 50
c. EB E9
Location: Exercise Procedure page: se2p15, Question ID: e2p15a
What key can you press to view the next eight bytes?
a. FFWD
b. FWD
c. FBACK
Location: Exercise Procedure page: se2p20, Question ID: e2p20a
You have stepped to address FFC0B in the single instruction mode. What address will be
displayed if you press the STEP key once?
a. FFC0C
b. FFC0F
c. FFC0E
Location: Exercise Procedure page: se2p24, Question ID: e2p24a
The CS-IP register pair forms a logical address consisting of a segment base (CS) and an offset
(IP). What is the physical address for the register contents shown?
a. FFF00
b. FFFF0
c. FFFFF
Location: Exercise Procedure page: se2p26, Question ID: e2p26a
What information is contained in the CS-IP register pair?
a. the logical address FFC0:000B
b. the address of the next instruction to be fetched
c. Both of the above.
Location: Exercise Procedure page: se2p28, Question ID: e2p28a
21. Press <EXIT> to cancel the register mode. What address now appears in the display?
a. FFC0B
b. FFC00

3-15

32 Bit Microprocessor

Unit 1 Trainer Familiarization

Location: Exercise Procedure page: se2p33, Question ID: e2p33a


You can verify this by checking the register contents. Which register key should you use to view
the contents of EAX?
a. (BP-FL)
b. (CS-IP)
c. (A-B)
Location: Exercise Procedure page: se2p35, Question ID: e2p35a
Which figure matches the contents of the LCD display?
a. A
b. B
c. C
Location: Exercise Procedure page: se2p37, Question ID: e2p37a
Which mode can you use to verify that the CPU has copied the EAX register contents to the
memory location?
a. register mode
b. memory mode
Location: Exercise Procedure page: se2p37, Question ID: e2p37c
31. Press <READ> and enter the memory address 0000:5000.
a. The contents of EAX have been copied to memory address 05000H.
b. The contents of EAX have not been copied to memory address 05000H.

3-16

32 Bit Microprocessor

Unit 1 Trainer Familiarization

REVIEW QUESTIONS
Location: Review Questions page: se2r1, Question ID: e2r1
1. Which key(s) can you use to enter data into memory?
a. WRT
b. AUTO
c. Both of the above.
d. None of the above.
Location: Review Questions page: se2r2, Question ID: e2r2
2. Which register pair always contains the address of the next instruction that the CPU will
fetch?
a. A-B
b. C-D
c. SI-DI
d. CS-IP
Location: Review Questions page: se2r3, Question ID: e2r3
3. Press <REG> and select <(A-B)>. What number does EAX contain?
a. 33333333H
b. CCCCCCCCH
c. 00000000H
d. FFFFFFFFH
Location: Review Questions page: se2r4, Question ID: e2r4
4. Each time you press the FFWD key, the first byte in the display (after the address) represents
a. the first byte of the next instruction.
b. the contents of the CS-IP registers.
c. every eighth byte in the program listing.
d. None of the above.
Location: Review Questions page: se2r5, Question ID: e2r5
5. Which key would not be used to change the contents of a CPU register?
a. REG
b. FWD
c. WRT
d. STEP

3-17

32 Bit Microprocessor

Unit 1 Trainer Familiarization

CMS AVAILABLE
CM 2
FAULTS AVAILABLE
FAULT 1

3-18

32 Bit Microprocessor

Unit 1 Trainer Familiarization

UNIT TEST
Location: Unit Test Question page: sut1, Question ID: ut1
Which of the following is not used to view memory addresses?
a. HIGH/LOW data LED switch
b. HIGH/LOW address LED switch
c. address LEDs
d. LCD display
Location: Unit Test Question page: sut2, Question ID: ut2
Which circuit block accepts an analog input?
a. SERIAL PORT
b. PARALLEL PORT
c. ADC
d. DAC
Location: Unit Test Question page: sut3, Question ID: ut3
The IR CONTROLLER circuit block manages the CPU's
a. internal registers.
b. internal ROM.
c. interrupt signals.
d. input rate.
Location: Unit Test Question page: sut4, Question ID: ut4
Which circuit block(s) can contain memory devices?
a. RAM
b. USER ROM
c. MONITOR ROM
d. All of the above.
Location: Unit Test Question page: sut5, Question ID: ut5
What indication would appear on the logic probe LEDs each time you press the STEP switch?
a. constant high level
b. constant low level
c. constant pulsing
d. single pulse

3-19

32 Bit Microprocessor

Unit 1 Trainer Familiarization

Location: Unit Test Question page: sut6, Question ID: ut6


Which key can you use to execute a program stored in memory?
a. READ
b. GO
c. STEP
d. REG
Location: Unit Test Question page: sut7, Question ID: ut7
When the CPU in the trainer operates in the real mode,
a. the addressable memory space is 1 Mbyte.
b. only 20 of the 32 address lines are used.
c. any memory location can be represented by its five-digit physical address.
d. All of the above.
Location: Unit Test Question page: sut8, Question ID: ut8
Which of the following logical addresses has a physical address of 12345H?
a. 1234:0005
b. 1234:0050
c. 1234:0500
d. 1234:5000
Location: Unit Test Question page: sut9, Question ID: ut9
Which of the following physical addresses has a logical address of 1122:3344?
a. 14564H
b. 11223H
c. 11224H
d. 44660H
Location: Unit Test Question page: sut10, Question ID: ut10
Which key is used to leave the register mode?
a. GO
b. READ
c. EXIT
d. STEP

3-20

32 Bit Microprocessor

Unit 2 Bus Operations

UNIT 2 BUS OPERATIONS

UNIT OBJECTIVE
Understand the basic data transfer operations of the 80386 microprocessor.
UNIT FUNDAMENTALS
Location: Unit Fundamentals page: sf1, Question ID: f1a
Which bus is bidirectional?
a. data bus
b. address bus
Location: Unit Fundamentals page: sf2, Question ID: f2a
First, the CPU activates the address bus. What information appears on the address lines?
a. data to be read
b. data to be written
c. the location for which data is to be written or read
Location: Unit Fundamentals page: sf3, Question ID: f3a
The CPU then looks for a response from the external device. According to the flow diagram,
what does the CPU do if a response is not received?
a. proceeds to the next step
b. waits for a response
Location: Unit Fundamentals page: sf3, Question ID: f3c
What is the direction of data flow for a read cycle?
a. from the CPU to an external device.
b. from an external device to the CPU.
Location: Unit Fundamentals page: sf5, Question ID: f3a
Instructions from memory are continuously transferred to the CPU. Each transfer requires a
a. read cycle.
b. write cycle.

3-21

32 Bit Microprocessor

Unit 2 Bus Operations

Location: Unit Fundamentals page: sf5, Question ID: f3c


Instructions for the 80386 microprocessor may be up to 32 bits wide. How many hex digits are
needed to represent 32 binary bits?
a. 4.
b. 8.
c. 16.

CMS AVAILABLE
None
FAULTS AVAILABLE
None

3-22

32 Bit Microprocessor

Unit 2 Bus Operations

NEW TERMS AND WORDS


microprocessor - a computer element that contains the control unit, central processing circuitry,
and arithmetic and logic functions; also called Central Processing Unit (CPU).
bus cycle - a complete data transfer cycle including a bus request from the micropocessor and a
response from an external device.
read cycle - a bus cycle during which a memory or I/O device transfers data to the
microprocessor.
data bus - a group of bidirectional lines used for transferring data between a microprocessor and
memory or I/O devices.
address bus - a group of output signals from a microprocessor used for specifying a device and
location where data is to be read or written.
write cycle - a bus cycle during which the microprocessor transfers data to a memory or
Input/Output (I/0) device.
programs - series of instructions stored in memory to be executed or carried out by the
microprocessor.
idle state - a period during which a microprocessor is not requesting a bus cycle.
byte - a group of eight bits transferred or operated on as a unit.
word - a group of bits transferred or operated on as a unit; often specifically refers to a group of
16 bits.
doubleword - a group of 32 bits transferred or operated on as a unit.
doubleword boundaries - the starting addresses of 32-bit memory locations. The starting address
must be an integral multiple of four.
aligned transfers - transfers involving data that does not overlap a doubleword boundry.
misaligned transfer - a 16-, 24-, or 32-bit transfer that overlaps a doubleword boundry.
wait state - a period during which a microprocessor is waiting for a response from a slower
device.
EQUIPMENT REQUIRED
F.A.C.E.T. base unit
Oscilloscope, dual trace
32-BIT MICROPROCESSOR circuit board

3-23

32 Bit Microprocessor

Unit 2 Bus Operations

Exercise 1 Bus States


EXERCISE OBJECTIVE
Understand the bus states that allow the 80386 microprocessor to communicate with memory
and Input/Output (I/O) devices. Verify results by using an oscilloscope and by loading and
executing a simple program in the 32-BIT MICROPROCESSOR circuit board.
EXERCISE DISCUSSION
Location: Exercise Discussion page: se1d1, Question ID: e1d1a
How many CLK2 cycles occur within one cycle of CLK?
a. 1
b. 2
c. 1/2
Location: Exercise Discussion page: se1d3, Question ID: e1d3a
Which of these lines are inputs to the CPU?
a. status
b. control
Location: Exercise Discussion page: se1d4, Question ID: e1d4a
When the microprocessor issues valid address information, it activates ADS#. The ADS# line is
active for the
a. entire bus cycle.
b. T1 state only.
c. T2 state only.
Location: Exercise Discussion page: se1d7, Question ID: e1d7a
RDY# is shown as a don't care condition during T1 because
a. ADS# is inactive.
b. the CPU has not yet sampled RDY#.
c. READY# has not yet become active.

3-24

32 Bit Microprocessor

Unit 2 Bus Operations

Location: Exercise Discussion page: se1d8, Question ID: e1d8a


Compare the timing diagram to the flow diagram. Which path is taken out of the decision box?
a. NO path
b. YES path
Location: Exercise Discussion page: se1d9, Question ID: e1d9a
The 80386 microprocessor's wait states allow it to interface with external devices that are
a. faster than the CPU.
b. slower than the CPU.
c. either faster or slower than the CPU.
Location: Exercise Discussion page: se1d10, Question ID: e1d10a
Which path out of the decision box corresponds to a wait state?
a. YES path
b. NO path
Location: Exercise Discussion page: se1d11, Question ID: e1d11a
What causes a wait state to terminate?
a. three consecutive T2 states
b. a RDY# input from memory or I/O
c. a RDY# output from the microprocessor
Location: Exercise Discussion page: se1d12, Question ID: e1d12a
If RDY# is inactive during the T2 state, the CPU executes another T2. This condition is a(n)
a. idle state.
b. wait state.
Location: Exercise Discussion page: se1d12, Question ID: e1d12c
What state occurs after T2 if RDY# is active and a bus request is not pending?
a. T1
b. T2
c. Ti
Location: Exercise Discussion page: se1d13, Question ID: e1d13a
Which sequence is valid according to the state diagram?
a. T1-T2-T2-Ti
b. T1-T2-T1-Ti
c. T1-T1-T2-Ti
d. All of the above.

3-25

32 Bit Microprocessor

Unit 2 Bus Operations

EXERCISE PROCEDURE
Location: Exercise Procedure page: se1p2, Question ID: e1p2a
2. Does the message shown appear in the circuit board's Liquid Crystal Display (LCD)?
a. yes
b. no
Location: Exercise Procedure page: se1p5, Question ID: e1p5a
8. Does the prompt shown appear in the LCD?
a. yes
b. no
Location: Exercise Procedure page: se1p6, Question ID: e1p6a
11. Does the data shown appear in the LCD?
a. yes
b. no
Location: Exercise Procedure page: se1p7, Question ID: e1p7a
15. Each transition of the ADS# waveform coincides with a clock transition because
a. CLK is synchronized to ADS#.
b. ADS# is synchronized to CLK.
Location: Exercise Procedure page: se1p10, Question ID: e1p10a
The falling edge of ADS# was chosen to trigger the oscilloscope because it
a. occurs at the beginning of a bus cycle.
b. is synchronized to CLK.
c. represents the external device's response.
Location: Exercise Procedure page: se1p11, Question ID: e1p11a
17. Which part of the waveforms indicates the beginning of a bus cycle?
a. a high pulse on ADS#
b. a low pulse on RDY#
c. a low pulse on ADS#

3-26

32 Bit Microprocessor

Unit 2 Bus Operations

Location: Exercise Procedure page: se1p11, Question ID: e1p11c


18. At which clock cycle does a bus cycle begin?
a. CLK cycle 1
b. CLK cycle 4
c. CLK cycle 7
d. All of the above.
Location: Exercise Procedure page: se1p11, Question ID: e1p11e
19. The low ADS# pulses are identified here as T1 states. When does a bus cycle terminate?
a. immediately when RDY# goes low
b. when RDY# is sampled low at the end of T2
Location: Exercise Procedure page: se1p15, Question ID: e1p15a
The CPU samples the RDY# line at the end of every T2. What is the state of RDY# during CLK
cycle 2?
a. active
b. inactive
Location: Exercise Procedure page: se1p16, Question ID: e1p16a
20. Where is the wait state in bus cycle 2?
a. CLK cycle 4
b. CLK cycle 5
c. CLK cycle 6
Location: Exercise Procedure page: se1p16, Question ID: e1p16c
21. Which CLK cycles in bus cycle 3 are wait states?
a. CLK cycle 9
b. CLK cycle 10
c. Both of the above.

3-27

32 Bit Microprocessor

Unit 2 Bus Operations

REVIEW QUESTIONS
Location: Review Questions page: se1r1, Question ID: e1r1
1. What can you use to identify all the types of CPU bus states (T1, T2, Ti, or wait)?
a. address and data bus information
b. ADS# and RDY#
c. ADS# only
d. RDY# only
Location: Review Questions page: se1r2, Question ID: e1r2
2. You can cause additional wait states to be added to each bus cycle by pressing <CM> to
toggle CM 12 on and off. How many total wait states are in the first bus cycle when CM 12 is
on?
a. 1
b. 2
c. 3
d. 4
Location: Review Questions page: se1r3, Question ID: e1r3
3. Which area highlighted on the state diagram represents a CPU wait state?
a. A
b. B
c. C
d. None of the above.
Location: Review Questions page: se1r4, Question ID: e1r4
4. Which step in the flow diagram corresponds to the activation of ADS#?
a. Send Address
b. Send Read Signal
c. Signal Address Valid
d. External Device Response
Location: Review Questions page: se1r5, Question ID: e1r5
5. Every bus cycle begins when ADS# goes low and ends
a. when ADS# goes high.
b. when RDY# is low at the end of a T2 state.
c. after the next T2 state.
d. after the next wait state.

3-28

32 Bit Microprocessor

Unit 2 Bus Operations

CMS AVAILABLE
CM 12 TOGGLE
FAULTS AVAILABLE
None

3-29

32 Bit Microprocessor

Unit 2 Bus Operations

Exercise 2 32-Bit Bus Transfers


EXERCISE OBJECTIVE
Demonstrate data transfers on the 32-BIT MICROPROCESSOR circuit board. Verify results
with an oscilloscope.
EXERCISE DISCUSSION
Location: Exercise Discussion page: se2d2, Question ID: e2d2a
How many bytes make up a doubleword?
a. 2
b. 4
c. 8
Location: Exercise Discussion page: se2d3, Question ID: e2d3a
What logic levels would be present at the byte enable outputs (BE3# through BE0#) if the CPU
were to only output bytes 0 and 1?
a. 0011
b. 1100
Location: Exercise Discussion page: se2d4, Question ID: e2d4a
Which data bits are transferred if only BE1# and BE2# are low?
a. D0 through D15
b. D8 through D23
c. D16 through D31
Location: Exercise Discussion page: se2d5, Question ID: e2d5a
What is the byte address of byte 3 at doubleword address 0008H?
a. 0008H
b. 0011H
c. 000BH

3-30

32 Bit Microprocessor

Unit 2 Bus Operations

Location: Exercise Discussion page: se2d6, Question ID: e2d6a


Which combinations cannot be used for a 16-bit transfer?
a. 3-1
b. 3-0
c. 2-0
d. All of the above.
Location: Exercise Discussion page: se2d8, Question ID: e2d8a
The CPU needs two bus cycles to complete a misaligned transfer. Why are two bus cycles
required?
a. Twice as much data is transferred.
b. One bus cycle is needed for each doubleword address.
c. The CPU must compensate for slower memory devices.
Location: Exercise Discussion page: se2d10, Question ID: e2d10a
The D/C# (Data Control#) output is high for data transfers and low for instruction (control)
transfers. For what type(s) of transfers can D/C# be low?
a. read cycles
b. write cycles
c. read or write cycles
Location: Exercise Discussion page: se2d12, Question ID: e2d12a
What size group of data bits cannot be transferred in one bus cycle in the 16-bit mode?
a. byte
b. word
c. doubleword

3-31

32 Bit Microprocessor

Unit 2 Bus Operations

EXERCISE PROCEDURE
Location: Exercise Procedure page: se2p2, Question ID: e2p2a
2. Does the prompt shown appear in the LCD?
a. yes
b. no
Location: Exercise Procedure page: se2p4, Question ID: e2p4a
6. To verify your data, press RESET, and then press <READ>. Enter address "0000:5000", and
verify that the data is 66 C7 06 00 70 FF FF FF. Press <FFWD> to view the second field, and
verify that the first line reads FF EB F5. Is all the data correct?
a. yes
b. no
Location: Exercise Procedure page: se2p8, Question ID: e2p8a
If the microprocessor were to transfer data from memory area 5000H to memory area 7000H,
which address bit would change?
a. A12
b. A13
c. A14
d. A15
Location: Exercise Procedure page: se2p10, Question ID: e2p10a
What do the falling edges of ADS# represent?
a. the end of a bus cycle
b. the beginning of a bus cycle
Location: Exercise Procedure page: se2p10, Question ID: e2p10c
What can you conclude from the waveforms?
a. Bus cycles occur only when A13 is low.
b. No data is transferred while A13 is high.
c. One bus cycle occurs while A13 is high.

3-32

32 Bit Microprocessor

Unit 2 Bus Operations

Location: Exercise Procedure page: se2p12, Question ID: e2p12a


Since the transferred data does not overlap doubleword boundaries, this is an aligned transfer.
This transfer requires
a. four bus cycles because there are four bytes.
b. two bus cycles because there are two words.
c. one bus cycle because only one doubleword location is addressed.
Location: Exercise Procedure page: se2p13, Question ID: e2p13a
12. Move the channel 2 probe to each of the other outputs, BE1#, BE2#, and BE3#. Which of
these is high while A13 is high?
a. BE1#
b. BE2#
c. BE3#
d. None
Location: Exercise Procedure page: se2p13, Question ID: e2p13c
All four byte enables are low during the high portion of A13 because
a. there is an aligned transfer.
b. there is a misaligned transfer.
c. the transfer involves all 32 data bits in one bus cycle.
Location: Exercise Procedure page: se2p18, Question ID: e2p18a
Do the scope traces appear as shown?
a. yes
b. no
Location: Exercise Procedure page: se2p18, Question ID: e2p18c
What kind of transfer does this indicate?
a. aligned
b. misaligned
Location: Exercise Procedure page: se2p20, Question ID: e2p20a
Do the byte enables (BE0# and BE1#) appear as shown?
a. yes
b. no

3-33

32 Bit Microprocessor

Unit 2 Bus Operations

Location: Exercise Procedure page: se2p20, Question ID: e2p20c


Which byte enable is active for the first bus cycle?
a. BE0#
b. BE1#
Location: Exercise Procedure page: se2p22, Question ID: e2p22a
A13 and ADS# are shown again for reference. Do the BE2# and BE3# signals appear as shown?
a. yes
b. no
Location: Exercise Procedure page: se2p22, Question ID: e2p22c
You can see that the same signal appears at BE2# and BE3#. During which bus cycle are these
byte enables active?
a. first (A)
b. second (B)
Location: Exercise Procedure page: se2p23, Question ID: e2p23a
Based on your results, are the bytes in the higher or lower doubleword address transferred first in
a misaligned transfer?
a. higher
b. lower
Location: Exercise Procedure page: se2p28, Question ID: e2p28a
Do the waveforms shown here appear on your oscilloscope?
a. yes
b. no
Location: Exercise Procedure page: se2p28, Question ID: e2p28c
The W/R# signal pulses high the same time A13 does because during the A13 pulse, a
a. read operation occurs.
b. write operation occurs.

3-34

32 Bit Microprocessor

Unit 2 Bus Operations

Location: Exercise Procedure page: se2p30, Question ID: e2p30a


You determined that while A13 is high, the data FF FF FF FF is being transferred. D/C# is high
during this time because
a. FF FF FF FF is data and not an instruction.
b. the transfer is misaligned.
Location: Exercise Procedure page: se2p32, Question ID: e2p32a
The M/IO# output is high for the entire program loop because all transfers are between the CPU
and
a. memory.
b. I/O.
Location: Exercise Procedure page: se2p37, Question ID: e2p37a
Output data is transferred at the highlighted time because of the
a. high level of W/R#.
b. low level of M/IO#.
c. Both of the above.
REVIEW QUESTIONS
Location: Review Questions page: se2r1, Question ID: e2r1
1. Which signal does not provide information about the type of bus cycle?
a. ADS#
b. M/IO#
c. W/R#
d. D/C#
Location: Review Questions page: se2r2, Question ID: e2r2
2. Which scope pattern shown here represents the byte enable signals?
a. A
b. B
c. C
d. None of the above.

3-35

32 Bit Microprocessor

Unit 2 Bus Operations

Location: Review Questions page: se2r3, Question ID: e2r3


3. The CPU is to load three bytes in an aligned transfer. Which starting address can it use?
a. 7002H
b. 7003H
c. 7004H
d. All of the above.
Location: Review Questions page: se2r4, Question ID: e2r4
4. A three-byte misaligned transfer begins at byte address 7002H. Which byte enable is not
active in either bus cycle?
a. BE0#
b. BE1#
c. BE2#
d. BE3#
Location: Review Questions page: se2r5, Question ID: e2r5
5. Which signal must be low while the CPU sends data to an I/O device?
a. D/C#
b. M/IO#
c. W/R#
d. All of the above.
CMS AVAILABLE
None
FAULTS AVAILABLE
None

3-36

32 Bit Microprocessor

Unit 2 Bus Operations

Exercise 3 Read and Write Cycles


EXERCISE OBJECTIVE
Understand the functions of CPU read cycles and write cycles. Verify results with an
oscilloscope.
EXERCISE DISCUSSION
Location: Exercise Discussion page: se3d2, Question ID: e3d2a
Based on the level of the W/R# line in the timing diagram, what type of bus cycle is shown?
a. read cycle
b. write cycle
c. cannot be determined
Location: Exercise Discussion page: se3d3, Question ID: e3d3a
This is a timing diagram for a typical write cycle. Which signal allows you to tell a write cycle
from a read cycle?
a. ADS#
b. RDY#
c. W/R#
Location: Exercise Discussion page: se3d3, Question ID: e3d3c
According to the timing diagram, when is RDY# sampled?
a. before data becomes valid
b. after data is no longer valid
c. while data is valid
Location: Exercise Discussion page: se3d6, Question ID: e3d6a
According to the table, what determines if a memory read cycle is a memory code read or a
memory data read?
a. the direction of data flow
b. the D/C# signal
c. whether an input or an output device is involved

3-37

32 Bit Microprocessor

Unit 2 Bus Operations

EXERCISE PROCEDURE
Location: Exercise Procedure page: se3p3, Question ID: e3p3a
Does the LCD appear as shown?
a. yes
b. no
Location: Exercise Procedure page: se3p6, Question ID: e3p6a
Do your waveforms appear as shown here?
a. yes
b. no
Location: Exercise Procedure page: se3p6, Question ID: e3p6c
The CPU is writing data for
a. one bus cycle.
b. five bus cycles.
Location: Exercise Procedure page: se3p8, Question ID: e3p8a
The ADS# and W/R# signals are shown in a different color for timing reference only. Do the
M/IO# and D/C# waveforms appear on your scope as shown here?
a. yes
b. no
Location: Exercise Procedure page: se3p8, Question ID: e3p8c
Which section consists of I/O data read cycles?
a. B
b. C
Location: Exercise Procedure page: se3p8, Question ID: e3p8e
What cycle type is executed in section B?
a. memory code read
b. memory data read
c. memory data write

3-38

32 Bit Microprocessor

Unit 2 Bus Operations

Location: Exercise Procedure page: se3p14, Question ID: e3p14a


Are your waveforms similar to those shown here?
a. yes
b. no
Location: Exercise Procedure page: se3p14, Question ID: e3p14c
The transitions on ADS# represent all the bus cycles in a program loop. Are most of the bus
cycles read or write cycles?
a. read
b. write
Location: Exercise Procedure page: se3p16, Question ID: e3p16a
The ADS# and W/R# signals are shown in a different color for reference. Do the M/IO# and
D/C# waveforms on your scope appear as shown here?
a. yes
b. no
Location: Exercise Procedure page: se3p16, Question ID: e3p16c
The steady high level on M/IO# means that all the bus cycles are
a. read cycles.
b. I/O cycles.
c. memory cycles.
Location: Exercise Procedure page: se3p17, Question ID: e3p17a
According to the figure and the table shown in the help window (click on Help), section A is a
memory
a. code read.
b. data read.
c. data write.

3-39

32 Bit Microprocessor

Unit 2 Bus Operations

Location: Exercise Procedure page: se3p17, Question ID: e3p17c


In which remaining section does the CPU fetch instructions?
a. B
b. C
Location: Exercise Procedure page: se3p17, Question ID: e3p17e
What type of cycle is executed in section C?
a. memory code read
b. memory data read
c. memory data write
REVIEW QUESTIONS
Location: Review Questions page: se3r1, Question ID: e3r1
1. What signal can you use to distinguish a read cycle from a write cycle?
a. M/IO#
b. D/C#
c. W/R#
d. Any of these
Location: Review Questions page: se3r2, Question ID: e3r2
2. You can use this table to determine the nature of a bus cycle by reading the status signal levels
a. within that cycle.
b. only during T1 states.
c. only during T2 states.
d. None of the above.
Location: Review Questions page: se3r3, Question ID: e3r3a
Do the scope waveforms appear as shown here?
a. yes
b. no

3-40

32 Bit Microprocessor

Unit 2 Bus Operations

Location: Review Questions page: se3r3, Question ID: e3r3


3. What type of cycle occurs in the highlighted area?
a. I/O data read
b. memory data write
c. memory data read
d. cannot be determined
Location: Review Questions page: se3r4, Question ID: e3r4a
Do the W/R# and M/IO# waveforms appear as shown?
a. yes
b. no
Location: Review Questions page: se3r4, Question ID: e3r4
4. What type of cycle occurs in the highlighted area?
a. I/O data read
b. memory code read
c. memory data read
d. memory data write
Location: Review Questions page: se3r5, Question ID: e3r5
5. An I/O code read cycle does not appear in the table because
a. D/C# cannot be low in any write cycle.
b. instructions are fetched from memory, not from I/O.
c. instructions are fetched from I/O, not from memory.
d. None of the above.
CMS AVAILABLE
None
FAULTS AVAILABLE
None

3-41

32 Bit Microprocessor

Unit 2 Bus Operations

Exercise CPU Initialization


EXERCISE OBJECTIVE
Describe the reset state and initialization procedure of the 80386 microprocessor.
EXERCISE DISCUSSION
Location: Exercise Discussion page: se4d3, Question ID: e4d3a
When power is applied, the RES signal starts
a. high and switches low.
b. low and switches high.
Location: Exercise Discussion page: se4d3, Question ID: e4d3c
What condition is necessary to reset the microprocessor?
a. either a power-up reset or a pushbutton reset
b. both a power-up reset and a pushbutton reset
Location: Exercise Discussion page: se4d5, Question ID: e4d5a
During reset, what type of cycle do the status outputs D/C#, W/R#, and M/IO# indicate?
a. memory data read
b. memory data write
c. I/O data read
d. I/O data write
Location: Exercise Discussion page: se4d6, Question ID: e4d6a
If the display message does not appear, the problem is caused by
a. improper status output levels at reset
b. a failure to execute the jump instruction at FFFF FFFOH
c. Either of the above.

3-42

32 Bit Microprocessor

Unit 2 Bus Operations

Location: Exercise Discussion page: se4d7, Question ID: e4d7a


A low pulse on the RDY# output results from a low pulse on which input?
a. EXTRDY#
b. PLDRDY#
c. Either of the above.
Location: Exercise Discussion page: se4d8, Question ID: e4d8a
When S7 is not pressed, the PLDRDY# output is inactive. The CPU does not receive a
RDY# signal and so it remains in a(n)
a. wait state.
b. idle state.
Location: Exercise Discussion page: se4d9, Question ID: e4d9a
What number is shown on the data bus LEDs?
a. 1E46 925DH
b. D529 64E1H
c. 64E1 02EAH
EXERCISE PROCEDURE
Location: Exercise Procedure page: se4p3, Question ID: e4p3a
Do the logic levels of these two signals agree with those in the table?
a. yes
b. no
Location: Exercise Procedure page: se4p3, Question ID: e4p3c
Do these logic levels agree with the table?
a. yes
b. no

3-43

32 Bit Microprocessor

Unit 2 Bus Operations

Location: Exercise Procedure page: se4p4, Question ID: e4p4a


4. Press and hold the RESET switch as you read the address displayed on the LEDs. Does the
pattern on your circuit board match the one shown here?
a. yes
b. no
Location: Exercise Procedure page: se4p4, Question ID: e4p4c
What is address FFFF FFFCH?
a. the address for the first instruction fetch
b. the address corresponding to the bit pattern in the table
c. Both of the above.
Location: Exercise Procedure page: se4p7, Question ID: e4p7a
When you release the RESET switch, the PULSE LED blinks and the logic level
a. remains high.
b. switches low.
Location: Exercise Procedure page: se4p8, Question ID: e4p8a
What logic probe indication occurs when you release the RESET switch?
a. steady high
b. steady low
c. pulse
Location: Exercise Procedure page: se4p9, Question ID: e4p9a
The M/IO# level is
a. high when you press RESET and low when you release RESET.
b. low when you press RESET and high when you release RESET.
c. always high.
Location: Exercise Procedure page: se4p10, Question ID: e4p10a
The D/C# level is
a. high when you press RESET and low when you release RESET.
b. low when you press RESET and high when you release RESET.
c. always low.

3-44

32 Bit Microprocessor

Unit 2 Bus Operations

Location: Exercise Procedure page: se4p11, Question ID: e4p11a


What type of bus cycle do these levels indicate?
a. memory code read
b. memory data read
c. I/O data read
Location: Exercise Procedure page: se4p14, Question ID: e4p14a
Do the LED patterns shown here agree with those on the circuit board?
a. yes
b. no
Location: Exercise Procedure page: se4p14, Question ID: e4p14c
How can you view the remaining 16 address bits?
a. Press the STEP switch.
b. Press RESET.
c. Set the address selector switch to HIGH.
Location: Exercise Procedure page: se4p15, Question ID: e4p15a
What hexadecimal address is displayed on the LEDs?
a. 0FFF FFFFH
b. FFFF FFF0H
c. 0000 000FH
d. 000F 0000H
Location: Exercise Procedure page: se4p15, Question ID: e4p15c
What hexadecimal data is displayed?
a. AE02H
b. FD15H
c. 02EAH
d. 51DFH

3-45

32 Bit Microprocessor

Unit 2 Bus Operations

REVIEW QUESTIONS
Location: Review Questions page: se4r1, Question ID: e4r1
1. What is the first thing the 80386 microprocessor does after a reset?
a. writes to the display
b. writes an instruction to address FFFF FFF0H
c. fetches an instruction from address FFFF FFF0H
d. fetches an instruction from address 0000 0000H
Location: Review Questions page: se4r2, Question ID: e4r2
2. In the PROCEDURE, you confirmed that the logic levels in the table exist during the CPU's
reset state. What type of bus cycle is defined by these levels?
a. memory code read
b. memory data read
c. I/O data read
d. I/O code read
Location: Review Questions page: se4r3, Question ID: e4r3
3. What function is not performed by the circuit shown?
a. synchronizing a reset signal with the CPU CLK
b. power-up reset
c. pushbutton reset
d. external reset
Location: Review Questions page: se4r4, Question ID: e4r4
4. During a power-up reset, the RES signal goes low
a. when C40 charges up to the inverter's input threshold voltage.
b. when C40 discharges completely.
c. immediately when power is applied.
d. None of the above.
Location: Review Questions page: se4r5, Question ID: e4r5
5. When you close S5 and press S7, this circuit causes the CPU to execute single cycles by
a. disabling the PLDRDY# signal.
b. resetting the CPU.
c. generating one PLDRDY# pulse each time S7 is pressed.
d. generating one ADS# pulse each time S7 is pressed.

3-46

32 Bit Microprocessor

Unit 2 Bus Operations

CMS AVAILABLE
None
FAULTS AVAILABLE
None

3-47

32 Bit Microprocessor

Unit 2 Bus Operations

UNIT TEST
Location: Unit Test Question page: sut1, Question ID: ut1
Where does the information that the CPU writes to or reads from an external device appear?
a. on the address bus
b. on the data bus
c. at the status outputs
d. at the control inputs
Location: Unit Test Question page: sut2, Question ID: ut2
Which group of signals does the CPU use to select the location for data to be transferred?
a. address bus
b. data bus
c. status outputs
d. control inputs
Location: Unit Test Question page: sut3, Question ID: ut3
Any cycle that begins with a low pulse on ADS# and ends with a low pulse on RDY# is a
a. clock cycle.
b. read cycle only.
c. write cycle only.
d. bus cycle.
Location: Unit Test Question page: sut4, Question ID: ut4
What size group of bits can be involved in an aligned transfer?
a. byte
b. word
c. doubleword
d. All of the above.
Location: Unit Test Question page: sut5, Question ID: ut5
An aligned transfer is faster than a misaligned transfer because an aligned transfer requires
a. two bus cycles.
b. one bus cycle.
c. more data.
d. less data.

3-48

32 Bit Microprocessor

Unit 2 Bus Operations

Location: Unit Test Question page: sut6, Question ID: ut6


Transferring a doubleword into the highlighted locations is an example of a
a. four-byte aligned transfer.
b. four-byte misaligned transfer.
c. two-byte aligned transfer.
d. two-byte misaligned transfer.
Location: Unit Test Question page: sut7, Question ID: ut7
Which byte address cannot be the starting address for a three-byte aligned transfer?
a. 0005H
b. 0008H
c. 0009H
d. 000AH
Location: Unit Test Question page: sut8, Question ID: ut8
Which signal(s) is (are) not required to determine the type of bus cycle?
a. BE0#BE3#
b. M/IO#
c. W/R#
d. D/C#
Location: Unit Test Question page: sut9, Question ID: ut9
You can determine from these waveforms that section A is a(n)
a. memory data read cycle.
b. memory data write cycle.
c. I/O data read cycle.
d. I/O data write cycle.
Location: Unit Test Question page: sut10, Question ID: ut10
For any given bus cycle, you can use this table to determine whether
a. a transfer is aligned or misaligned.
b. one, two, three, or four bytes are being transferred.
c. the CPU is reading or writing data.
d. All of the above.

3-49

32 Bit Microprocessor

Unit 2 Bus Operations

3-50

32 Bit Microprocessor

Unit 3 Memory Interfacing

UNIT 3 MEMORY INTERFACING

UNIT OBJECTIVE
Demonstrate memory transfers and describe the functions of memory control signals.
UNIT FUNDAMENTALS
Location: Unit Fundamentals page: sf3, Question ID: f3a
In which type of memory is it better to store the monitor program for the 32-BIT
MICROPROCESSOR circuit board?
a. RAM
b. ROM
Location: Unit Fundamentals page: sf4, Question ID: f4a
The CPU enables a single chip or group of chips at a time so that
a. only one location in one chip or group is selected.
b. one location in every chip or group is selected.
Location: Unit Fundamentals page: sf5, Question ID: f5a
When A13 is high,
a. RAM 1 is selected.
b. RAM 2 is selected.
c. both RAMs are selected.
Location: Unit Fundamentals page: sf6, Question ID: f5a
How many RAMs could be selected if 3 address lines (A13, A14, and A15) were decoded?
a. 6.
b. 8.
c. 16.
Location: Unit Fundamentals page: sf9, Question ID: f5a
What other signal is common to both the bus controller and the address decoder?
a. W/R#.
b. M/IO#.
c. D/C#.
d. None of the above.

3-51

32 Bit Microprocessor

Unit 3 Memory Interfacing

Location: Unit Fundamentals page: sf11, Question ID: f5a


Which area(s) of memory on your circuit board contain 16-bit devices?
a. RAM.
b. ROM
c. both RAM and ROM.

CMS AVAILABLE
None
FAULTS AVAILABLE
None

3-52

32 Bit Microprocessor

Unit 3 Memory Interfacing

NEW TERMS AND WORDS


volatile - subject to the loss of stored data when power is removed.
bus controller - a circuit that manages the control signals needed to transfer information between
the CPU and memory or I/O.
bug - a hardware or software flaw that causes incorrect system operation.
debug - to locate and correct a flaw in hardware or software.
system address lines - the address lines that are common to the CPU and peripheral devices.
memory map - a listing or graphical representation describing how blocks of memory in a
system are assigned.
image - a memory location or block that is repeated one or more times due to partial address
decoding.
op code - the hexadecimal representation of a microprocessor instruction.
operand - a number that is affected, manipulated, or operated upon.
EQUIPMENT REQUIRED
F.A.C.E.T. base unit
Oscilloscope dual trace
32-BIT MICROPROCESSOR circuit board

3-53

32 Bit Microprocessor

Unit 3 Memory Interfacing

Exercise 1 Memory Control Signals


EXERCISE OBJECTIVE
Describe the data, address, and control signals of memory devices in a microprocessor circuit.
EXERCISE DISCUSSION
Location: Exercise Discussion page: se1d1, Question ID: e1d1a
How many memory locations are specified by the number of address lines on this RAM chip?
(2n = XXXX locations)
a. 2048 (2K)
b. 4096 (4K)
c. 8192 (8K)
Location: Exercise Discussion page: se1d4, Question ID: e1d4a
Tristate outputs are used on the data lines to
a. allow several devices to share the data bus.
b. adjust the outputs to the proper logic levels.
c. prevent writing the wrong data into the RAM.
Location: Exercise Discussion page: se1d5, Question ID: e1d5a
The ROM shown here has the same configuration as the RAM (8K x 8) because it has the same
number of
a. address lines.
b. data lines.
c. Both of the above.
Location: Exercise Discussion page: se1d5, Question ID: e1d5c
A WE control input is not needed because you can only
a. read data from a ROM.
b. write data to a ROM.

3-54

32 Bit Microprocessor

Unit 3 Memory Interfacing

Location: Exercise Discussion page: se1d6, Question ID: e1d6a


The chip selects must be active for RAM
a. read cycles.
b. write cycles.
c. Both of the above.
Location: Exercise Discussion page: se1d8, Question ID: e1d8a
If MWTC# is active, which RAMs receive data if BE0# and BE1# are low and BE2# and BE3#
are high?
a. U34 and U35
b. U31 and U33
Location: Exercise Discussion page: se1d9, Question ID: e1d9a
What is the overall configuration of the ROMs when they are connected as shown?
a. 8K x 32
b. 8K x 16
Location: Exercise Discussion page: se1d10, Question ID: e1d10a
When the ROM outputs are enabled, the CPU can
a. write data to the ROMs.
b. read data from the ROMs.
c. Both of the above.
Location: Exercise Discussion page: se1d15, Question ID: e1d15a
The least significant address byte should be F0H, but is shows up as F4H. What is the possible
cause of the error?
a. A0, A1, and A3 shorted to ground
b. A2 shorted to ground
c. A2 shorted to Vcc
Location: Exercise Discussion page: se1d15, Question ID: e1d15c
The most significant data byte should be 02H, but it shows up as 0AH. What is the possible
cause of the error?
a. D3 is shorted to VCC
b. D11 is shorted to VCC
c. D11 is shorted to ground.

3-55

32 Bit Microprocessor

Unit 3 Memory Interfacing

Location: Exercise Discussion page: se1d17, Question ID: e1d17a


The data at address at 5000H
a. is always AAAA AAAAH.
b. is always 5555 5555H.
c. alternates between AAAA AAAAH and 5555 5555H for each pass through the loop.
Location: Exercise Discussion page: se1d21, Question ID: e1d21a
You can verify the levels in the table when the
a. RESET switch is pressed and released.
b. RESET switch is pressed and held.
c. CPU is in SINGLE CYCLE mode.
EXERCISE PROCEDURE
Location: Exercise Procedure page: se1p2, Question ID: e1p2a
Do the first 8 bytes of ROM data appear in the LCD display as shown here?
a. yes
b. no
Location: Exercise Procedure page: se1p2, Question ID: e1p2c
2. Press <WRT>, and enter the data "AA". The first byte in the display does not change to AA
because ROM
a. is volatile.
b. data can be written but not read.
c. data can be read but not written.
Location: Exercise Procedure page: se1p3, Question ID: e1p3a
The data in the display remains the same because ROM is
a. volatile.
b. non-volatile.
Location: Exercise Procedure page: se1p5, Question ID: e1p5a
What can you conclude from the LCD display?
a. The data you wrote is stored in RAM.
b. The data you wrote is stored in ROM.
c. You cannot write data into RAM.

3-56

32 Bit Microprocessor

Unit 3 Memory Interfacing

Location: Exercise Procedure page: se1p6, Question ID: e1p6a


What can you conclude from the resulting display data?
a. RAM is non-volatile because the data did not change when you interrupted power.
b. RAM is volatile because the data was lost when you interrupted power.
c. You cannot write data into a RAM.
Location: Exercise Procedure page: se1p10, Question ID: e1p10a
Do the address and data LEDs appear as shown?
a. yes
b. no
Location: Exercise Procedure page: se1p10, Question ID: e1p10c
The upper two bytes (FFFFH) in the program address appear on the
a. HIGH address LEDs.
b. LOW address LEDs.
Location: Exercise Procedure page: se1p12, Question ID: e1p12a
Do the circuit board LEDs match the figure now shown?
a. yes
b. no
Location: Exercise Procedure page: se1p13, Question ID: e1p13a
Do the circuit board LEDs match the figure now shown?
a. yes
b. no
Location: Exercise Procedure page: se1p14, Question ID: e1p14a
Which instruction will the CPU execute on the next step?
a. jump to 000F C012
b. clear interrupt flag
Location: Exercise Procedure page: se1p17, Question ID: e1p17a
18. Press STEP several times as you observe the logic probe LEDs. The LEDs indicate that
ADS#.
A. is always high.
B. is always low.
C. pulses once for each step.

3-57

32 Bit Microprocessor

Unit 3 Memory Interfacing

Location: Exercise Procedure page: se1p18, Question ID: e1p18a


The LEDs indicate that READY#
a. is always high.
b. is always low.
c. pulses once for each step.
Location: Exercise Procedure page: se1p19, Question ID: e1p19a
What type of cycle is indicated by the levels of these signals?
a. memory data read
b. memory code read
c. memory data write
Location: Exercise Procedure page: se1p20, Question ID: e1p20a
The level is always
a. high because the transfers are in 32-bit memory.
b. low because the transfers are in 16-bit memory.
Location: Exercise Procedure page: se1p21, Question ID: e1p21a
MROMSEL# and MRDC# are both
a. always high.
b. always low.
c. pulsing for each step.
d. None of the above.
Location: Exercise Procedure page: se1p23, Question ID: e1p23a
24. Check the levels of RDY#, ADS#, and BS16#. Which of these signals is pulsing?
a. ADS#
b. RDY#
c. BS16#
d. All of the above.
Location: Exercise Procedure page: se1p23, Question ID: e1p23c
25. Check the levels of W/R#, M/I0#, and D/C#. Which of these signals is pulsing?
a. W/R#
b. M/IO#
c. D/C#
d. All of the above.

3-58

32 Bit Microprocessor

Unit 3 Memory Interfacing

Location: Exercise Procedure page: se1p24, Question ID: e1p24a


Both of these signals are
a. high.
b. low.
c. pulsing.
Location: Exercise Procedure page: se1p27, Question ID: e1p27a
CM 15 has been activated to insert a circuit fault into the ROM interface. What circuit board
element indicates that a fault exists?
a. the LCD display
b. the address LEDs
c. the ADS# line
Location: Exercise Procedure page: se1p28, Question ID: e1p28a
The figure shows the correct LED information that normally appears for the first instruction
fetch. Do the circuit board LEDs match those in the figure?
a. yes
b. no
Location: Exercise Procedure page: se1p28, Question ID: e1p28c
The correct address is FFFF FFF0H, and the correct data is 02EAH, as shown in the figure.
Which group of circuit board LEDs is incorrect?
a. data
b. HIGH address
c. LOW address
c. LOW address
Location: Exercise Procedure page: se1p34, Question ID: e1p34a
What is the hexadecimal address?
a. 1EF8H
b. 8FE1H
c. E107H
Location: Exercise Procedure page: se1p35, Question ID: e1p35a
You read a ROM address of 1EF8H, but you know that the correct ROM address is 1FF8H.
Which address bit is incorrect?
a. A8
b. A9
c. A10
d. A11

3-59

32 Bit Microprocessor

Unit 3 Memory Interfacing

Location: Exercise Procedure page: se1p35, Question ID: e1p35c


You can conclude from your observations that A8 is
a. shorted to ground.
b. shorted to Vcc.
c. shorted to A9.
d. open to the low byte ROM chip.
Location: Exercise Procedure page: se1p39, Question ID: e1p39a
Which of the RAM control inputs is activated by MRDC#?
a. chip select
b. output enable
c. write enable
Location: Exercise Procedure page: se1p40, Question ID: e1p40a
The write operations occur when MWTC# is
a. high.
b. low.
Location: Exercise Procedure page: se1p41, Question ID: e1p41a
MWTC# does not appear on the scope but is shown here for reference. Do the RAMSEL# and
MRDC# waveforms appear as shown?
a. yes
b. no
Location: Exercise Procedure page: se1p42, Question ID: e1p42a
The next two low pulses on RAMSEL# are due to
a. ROM instruction fetches.
b. RAM read cycles.
c. RAM write cycles.
Location: Exercise Procedure page: se1p42, Question ID: e1p42c
What could the other (high-lighted) low pulses on MRDC# indicate?
a. ROM instruction fetches
b. RAM write cycles
c. RAM read cycles

3-60

32 Bit Microprocessor

Unit 3 Memory Interfacing

Location: Exercise Procedure page: se1p47, Question ID: e1p47a


Which memory block is involved in this transfer?
a. RAM
b. ROM
c. cannot be determined
Location: Exercise Procedure page: se1p48, Question ID: e1p48a
What operation is indicated by the address and data LEDs and the W/R# level?
a. write AAAAAAAAH to address 5000H
b. read AAAAAAAAH from address 5000H
c. write 55555555H to address 5004H
d. read 55555555H from address 5004H
Location: Exercise Procedure page: se1p49, Question ID: e1p49a
The next instruction calls for a read from 5004H. What data should the CPU read from 5004H?
a. 55555555H
b. AAAAAAAAH
c. cannot be determined
Location: Exercise Procedure page: se1p50, Question ID: e1p50a
Does the data bus read 55555555H as shown?
a. yes
b. no
Location: Exercise Procedure page: se1p50, Question ID: e1p50c
Which data bit is in the wrong state?
a. D4
b. D5
c. D20
d. D21
Location: Exercise Procedure page: se1p52, Question ID: e1p52a
The address and data LEDs indicate that the CPU is writing
a. AAAAAAAAH to address 5000H.
b. AAAAAAAAH to address 5004H.
c. 55555555H to address 5000H.
d. 55555555H to address 5004H.

3-61

32 Bit Microprocessor

Unit 3 Memory Interfacing

Location: Exercise Procedure page: se1p52, Question ID: e1p52c


The D20 line reads high on
a. the logic probe but low on the data LED.
b. the data LED but low on the logic probe.
c. both the data LED and the logic probe.
Location: Exercise Procedure page: se1p53, Question ID: e1p53a
43. Connect the logic probe lead to the RAM D20 pin (U33 pin 16). At this point, D20 is
a. high.
b. low.
c. pulsing.
Location: Exercise Procedure page: se1p54, Question ID: e1p54a
You found a high D20 level at the CPU and the LED, and a low D20 level at the RAM chip.
From this you can assume that D20 is
a. shorted to ground.
b. shorted to VCC.
c. open to the CPU.
d. open to the RAM chip.
REVIEW QUESTIONS
Location: Review Questions page: se1r1, Question ID: e1r1
1. Which of the following would you not find on a ROM IC?
a. output enable input
b. chip enable input
c. bidirectional data lines
d. address inputs
Location: Review Questions page: se1r2, Question ID: e1r2
2. The RAM ICs on your circuit board
a. are volatile.
b. have bidirectional data lines.
c. have tristate data outputs.
d. All of the above.

3-62

32 Bit Microprocessor

Unit 3 Memory Interfacing

Location: Review Questions page: se1r3, Question ID: e1r3


3. This table shows 4 ROM locations starting at FFFF FFF0H, which is the address of the CPU's
first instruction fetch. If address bit A1 were shorted to VCC, what code will the CPU fetch?
a. EA 02
b. 00 00
c. FC FF
d. 80 FF
Location: Review Questions page: se1r4, Question ID: e1r4
4. How can you locate a fault in a microprocessor circuit when you have determined that bus
cycles are not being executed?
a. Check the reset levels of the CPU control signals.
b. Check the reset levels of the PLD control signals.
c. Step through the CPU's first instruction fetch.
d. All of the above.
Location: Review Questions page: se1r5, Question ID: e1r5
5. Which of the PLD outputs is not active for monitor ROM transfers?
a. MWTC#
b. MRDC#
c. MROMSEL#
d. BS16#
CMS AVAILABLE
CM 15
CM 14
FAULTS AVAILABLE
None

3-63

32 Bit Microprocessor

Unit 3 Memory Interfacing

Exercise 2 Memory Address Decoding


EXERCISE OBJECTIVE
Describe the memory address decoding system that is used to select individual blocks of
memory.
EXERCISE DISCUSSION
Location: Exercise Discussion page: se2d1, Question ID: e2d1a
For which memory block(s) is BS16# active?
a. RAM
b. MROM
c. UROM
d. Both b. and c.
Location: Exercise Discussion page: se2d3, Question ID: e2d3a
Which hex digit contains address bits A17 and A18?
a. DIG1
b. DIG2
c. DIG3
d. DIG4
Location: Exercise Discussion page: se2d5, Question ID: e2d5a
# of doubleword locations =
Recall Label for this Question: None
Nominal Answer: 32768.0
Min/Max Value: (32768) to (32768)
Value Calculation: 32768.000
Correct Tolerance Percent = true
Correct Minus Tolerance = 0
Correct Plus Tolerance = 0

3-64

32 Bit Microprocessor

Unit 3 Memory Interfacing

Location: Exercise Discussion page: se2d6, Question ID: e2d6a


What is the range of the monitor ROM block?
a. 60110H to 70111H
b. 60000H to 7FFFFH
c. 60000H to 70000H
Location: Exercise Discussion page: se2d11, Question ID: e2d11a
Which address is an image of address 0ABCH?
a. 8ABCH
b. 18ABCH
c. 10ABCH
d. All of the above.
Location: Exercise Discussion page: se2d12, Question ID: e2d12a
How many sections are in each ROM block?
a. 8
b. 16
c. 32
Location: Exercise Discussion page: se2d14, Question ID: e2d14a
RAM has fewer sections because the RAM
a. chips are larger than the ROM chips.
b. byte addresses have a smaller range than the ROM byte addresses.
c. locations have 4 bytes each and the ROM locations have 2 bytes each.
Location: Exercise Discussion page: se2d18, Question ID: e2d18a
By converting the image to its corresponding address in the first block, what have you
eliminated?
a. 3 hex digits
b. 12 bits
c. Both of the above.
Location: Exercise Discussion page: se2d19, Question ID: e2d19a
What address in the first block corresponds to the ROM image C4EF12AH?
a. 6712AH
b. C46312AH
c. 6312AH
d. 63000H

3-65

32 Bit Microprocessor

Unit 3 Memory Interfacing

EXERCISE PROCEDURE
Location: Exercise Procedure page: se2p2, Question ID: e2p2a
In this circuit, the BS16# output will be active for
a. RAM transfers.
b. ROM transfers.
c. Both of the above.
Location: Exercise Procedure page: se2p4, Question ID: e2p4a
4. Adjust the scope TIME VARIABLE control so that two cycles of W/R# occupy exactly 10
horizontal divisions. Does the scope trace appear as shown?
a. yes
b. no
Location: Exercise Procedure page: se2p6, Question ID: e2p6a
Do the RAMSEL# and MROMSEL# signals on your scope match this figure?
a. yes
b. no
Location: Exercise Procedure page: se2p7, Question ID: e2p7a
During horizontal interval 4, the CPU is
a. reading from RAM.
b. reading from the monitor ROM.
c. writing to RAM.
Location: Exercise Procedure page: se2p8, Question ID: e2p8a
During which interval does the CPU write to RAM?
a. 2
b. 3
c. 5
d. 6

3-66

32 Bit Microprocessor

Unit 3 Memory Interfacing

Location: Exercise Procedure page: se2p8, Question ID: e2p8c


During which interval are RAM and monitor ROM selected at the same time?
a. 2
b. 4
c. 5
d. None of the above.
Location: Exercise Procedure page: se2p8, Question ID: e2p8e
During which interval does the CPU generate a write to the monitor ROM?
a. 1
b. 3
c. 4
d. None of the above.
Location: Exercise Procedure page: se2p9, Question ID: e2p9a
9. Move CH 1 to BS16#. The RAMSEL# signal still appears in the figure for reference. The
BS16# signal is identical to
a. W/R#.
b. RAMSEL#.
c. MROMSEL#.
Location: Exercise Procedure page: se2p13, Question ID: e2p13a
Do the A17 and A18 waveforms on the scope match those in the figure?
a. yes
b. no
Location: Exercise Procedure page: se2p13, Question ID: e2p13c
A17 and A18 are both
a. low when RAM is selected.
b. high when monitor ROM is selected.
c. Both of the above.

3-67

32 Bit Microprocessor

Unit 3 Memory Interfacing

Location: Exercise Procedure page: se2p13, Question ID: e2p13e


The A17 and A18 signal levels on the scope agree with those in the table
a. when RAMSEL# is active.
b. when MROMSEL# is active.
c. at all points.
Location: Exercise Procedure page: se2p17, Question ID: e2p17a
The W/R# signal does not appear on the scope but is shown here for reference. Do the
RAMSEL# and MROMSEL# signals on your scope match those in the figure?
a. yes
b. no
Location: Exercise Procedure page: se2p17, Question ID: e2p17c
CM 13 has been activated to insert a fault into the memory address decoder circuit. What
happens to the block select outputs?
a. RAMSEL# changes to a constant high level.
b. MROMSEL# changes to a constant high level.
c. Both of above.
Location: Exercise Procedure page: se2p18, Question ID: e2p18a
The logic probe shows that ADS# is high. This could indicate that the CPU
a. has stopped executing bus cycles.
b. is stuck in a program loop.
Location: Exercise Procedure page: se2p19, Question ID: e2p19a
15. Turn the SINGLE CYCLE switch on, and press RESET. Do the LEDs show the jump
instruction 02EAH at address FFFF FFF0H?
a. yes
b. no

3-68

32 Bit Microprocessor

Unit 3 Memory Interfacing

Location: Exercise Procedure page: se2p20, Question ID: e2p20a


You can first check the address decoder outputs to see if the correct block is selected. Which
block should be selected at reset?
a. RAM
b. user ROM
c. monitor ROM
Location: Exercise Procedure page: se2p21, Question ID: e2p21a
The logic probe indicates that monitor ROM is
a. selected.
b. not selected.
Location: Exercise Procedure page: se2p23, Question ID: e2p23a
The A17 and A18 levels indicate that which memory block should be selected?
a. RAM
b. user ROM
c. monitor ROM
Location: Exercise Procedure page: se2p24, Question ID: e2p24a
The logic probe indicates that A17
a. and A18 are both high.
b. and A18 are both low.
c. is high and A18 is low.
d. is low and A18 is high.
Location: Exercise Procedure page: se2p24, Question ID: e2p24c
You read a high level for A18 at the CPU and a low level at the address decoder (PLD U23).
You can assume that the fault is
a. a defective PLD.
b. an open A18 line to the PLD.
c. a ground short on A18.
d. a short between A17 and A18.

3-69

32 Bit Microprocessor

Unit 3 Memory Interfacing

Location: Exercise Procedure page: se2p25, Question ID: e2p25a


You read a high level for A17 and a low level for A18 at the address decoder inputs. Which
memory block is selected?
a. RAM
b. user ROM
c. monitor ROM
d. None of the above.
Location: Exercise Procedure page: se2p27, Question ID: e2p27a
The address in the first block is
a. 63FF0H
b. 6FFF0H
c. F3FF0H
d. 63000H
Location: Exercise Procedure page: se2p28, Question ID: e2p28a
What are the first four bytes of this address?
a. random data
b. a jump instruction
c. cannot be determined
Location: Exercise Procedure page: se2p29, Question ID: e2p29a
21. Jump to location 63FF0H by pressing <GO> and entering "63FF 0000". The startup message
appears in the LCD display because the CPU
a. was reset.
b. executed its jump to the initialization program.

3-70

32 Bit Microprocessor

Unit 3 Memory Interfacing

REVIEW QUESTIONS
Location: Review Questions page: se2r1, Question ID: e2r1
1. An address decoder decodes
a. part of the CPU address bus.
b. all of the CPU address bus.
c. part of the CPU data bus.
d. part of the CPU data and address buses.
Location: Review Questions page: se2r2, Question ID: e2r2
2. If 4 address bits were decoded, how many memory blocks could be selected?
a. 4
b. 8
c. 16
d. 32
Location: Review Questions page: se2r3, Question ID: e2r3
3. Which conditions of A17 and A18 are always necessary for BS16# to be active?
a. 1
X
b. 1
0
c. 1
1
d. 0
0
Location: Review Questions page: se2r4, Question ID: e2r4
4. The data you wrote to 0000H also appears at 10000H because
a. 10000H is an image of 00000H.
b. A17 is shorted to ground.
c. A18 is shorted to ground.
d. None of the above.
Location: Review Questions page: se2r5, Question ID: e2r5
Which of these addresses is also an image of 0000H?
a. 80000H
b. 90000H
c. Both of the above.
d. None of the above.

3-71

32 Bit Microprocessor

Unit 3 Memory Interfacing

CMS AVAILABLE
CM 13
FAULTS AVAILABLE
None

3-72

32 Bit Microprocessor

Unit 3 Memory Interfacing

Exercise 3 Memory Data Transfers


EXERCISE OBJECTIVE
Describe 16-and 32-bit memory data transfers in an 80386 microprocessor circuit.
EXERCISE DISCUSSION
Location: Exercise Discussion page: se3d3, Question ID: e3d3a
You can address individual bytes by using
a. A0.
b. byte enables.
Location: Exercise Discussion page: se3d9, Question ID: e3d9a
How many transfers are needed for the bytes that are now highlighted?
a. one 2-cycle transfer
b. two 2-cycle transfers
c. four 1-cycle transfers
Location: Exercise Discussion page: se3d12, Question ID: e3d12a
A second cycle is not required if the transfer involves
a. one byte.
b. two aligned bytes (both upper bytes or both lower bytes).
c. Either of the above.
Location: Exercise Discussion page: se3d12, Question ID: e3d12c
A BS16# transfer requires two bus cycles if the bytes are
a. aligned.
b. misaligned.

3-73

32 Bit Microprocessor

Unit 3 Memory Interfacing

Location: Exercise Discussion page: se3d12, Question ID: e3d12e


In two-cycle transfers, the lower bytes are transferred
a. in the first cycle.
b. in the second cycle.
c. partly in the first cycle and partly in the second cycle.
Location: Exercise Discussion page: se3d14, Question ID: e3d14a
When the CPU is instructed to jump to a certain byte location, the address on the bus is
a. a multiple of four.
b. a multiple of two.
c. the exact address of that byte location.
EXERCISE PROCEDURE
Location: Exercise Procedure page: se3p4, Question ID: e3p4a
1. Turn the SINGLE CYCLE switch on, and momentarily press RESET. Does the data and
address information in step 0 in the table appear on the circuit board LEDs?
a. yes
b. no
Location: Exercise Procedure page: se3p5, Question ID: e3p5a
What are the levels of the byte enable outputs?
BE3# BE2# BE1# BE0#
a. 0
0
0
0
b. 0
0
1
1
c. 1
1
0
0
d. 1
1
1
1
Location: Exercise Procedure page: se3p6, Question ID: e3p6a
3. Press the STEP switch once. Do the circuit board LEDs match step 1 in the table?
a. yes
b. no

3-74

32 Bit Microprocessor

Unit 3 Memory Interfacing

Location: Exercise Procedure page: se3p7, Question ID: e3p7a


4. Use the logic probe to check the levels of the BEO# through BE3# outputs.
What are the levels of the byte enable outputs?
BE3# BE2# BE1# BE0#
a. 0
0
0
0
b. 0
0
1
1
c. 1
1
0
0
d. 1
1
1
1
Location: Exercise Procedure page: se3p8, Question ID: e3p8a
Is the table correct based on your results?
a. yes
b. no
Location: Exercise Procedure page: se3p9, Question ID: e3p9a
From the byte enable outputs you can conclude that
a. only the 2 upper bytes are transferred.
b. only the 2 lower bytes are transferred.
c. upper and lower bytes are transferred.
Location: Exercise Procedure page: se3p10, Question ID: e3p10a
At step 6, the CPU has executed the jump. Although 000F C012 is the jump to address, 000F
C010H appears first because the CPU
a. always jumps to a word boundary.
b. always jumps to a doubleword boundary.
c. has jumped to the wrong address.
Location: Exercise Procedure page: se3p15, Question ID: e3p15a
This table for the program you entered has no columns for BE0# through BE3# because the CPU
is executing only RAM instruction fetches. The byte enable levels will all be
a. high.
b. low.

3-75

32 Bit Microprocessor

Unit 3 Memory Interfacing

Location: Exercise Procedure page: se3p15, Question ID: e3p15c


11. Turn the SINGLE CYCLE switch on, and press STEP until the address 4FF0H appears on
the address bus LEDs. What bytes appear on the data LEDs?
(LSB)
byte 0 byte 1
a. 00
01
b. 02
EA
c. EA
02

(MSB)
byte 2 byte 3
EA
02
01
00
00
01

Location: Exercise Procedure page: se3p16, Question ID: e3p16a


The remaining bytes (11 22 33) in step 1 are not part of an instruction, but they appear on the
data bus because the CPU
a. fetched them along with the last byte of the jump instruction.
b. fetches the next instruction while decoding the current one.
Location: Exercise Procedure page: se3p17, Question ID: e3p17a
14. Press STEP once. You can determine that the CPU has executed the jump to 04012H because
the address bus shows
a. the jump-to address.
b. the boundary of the doubleword location that contains the jump-to address.
Location: Exercise Procedure page: se3p17, Question ID: e3p17c
The addresses in the program are multiples of four because
a. each address is a word address.
b. each address is a doubleword address.
c. there are 4 bytes in each instruction.
Location: Exercise Procedure page: se3p18, Question ID: e3p18a
When you compare the tables, you can conclude that
a. more bytes are transferred in a 32-bit bus cycle than in a 16-bit cycle.
b. the ROM program required more bus cycles than the RAM program.
c. Both of the above.

3-76

32 Bit Microprocessor

Unit 3 Memory Interfacing

REVIEW QUESTIONS
Location: Review Questions page: se3r1, Question ID: e3r1
1. 32-bit RAM transfers in your circuit are more efficient than 16-bit ROM transfers because
a. ROM is read-only memory.
b. RAM has more memory.
c. RAM transfers require fewer bus cycles to accomplish the same task.
d. All of the above.
Location: Review Questions page: se3r2, Question ID: e3r2
2. How many cycles were needed to fetch the first jump instruction in the 32-bit RAM and 16-bit
ROM programs you executed in the PROCEDURE?
RAM
a. 5
b. 2
c. 3
d. 1

ROM
5
3
2
1

Location: Review Questions page: se3r3, Question ID: e3r3


3. When the CPU executes the jump at FFFF FFF0H, it jumps to the address determined by the
a. operand 02 00 01 FC.
b. operand 02 00.
c. operand 01 FC.
d. op code EA.
Location: Review Questions page: se3r4, Question ID: e3r4
4. When BS16# is active, data that is normally transferred on lines D24 through D31 is
transferred on lines
a. D0 through D7.
b. D8 through D15.
c. D16 through D23.
d. D24 through D31.
Location: Review Questions page: se3r5, Question ID: e3r5
5. Byte enables are used in your circuit to select individual bytes during a
a. RAM read cycle.
b. RAM write cycle.
c. ROM read cycle.
d. ROM write cycle.

3-77

32 Bit Microprocessor

Unit 3 Memory Interfacing

CMS AVAILABLE
None
FAULTS AVAILABLE
None

3-78

32 Bit Microprocessor

Unit 3 Memory Interfacing

UNIT TEST
Location: Unit Test Question page: sut1, Question ID: ut1
You can determine the size of each location in a memory device by the number of
a. address lines.
b. data lines.
c. control lines.
d. All of the above.
Location: Unit Test Question page: sut2, Question ID: ut2
Which chip select input(s) must be active to enable this RAM IC?
a. CS1 only
b. CS2 only
c. both CS1 and CS2
d. either CS1 or CS2
Location: Unit Test Question page: sut3, Question ID: ut3
If the highlighted control signals are low and all others are high, what type of cycle is executed?
a. write bytes 0 and 1 to RAM
b. write bytes 2 and 3 to RAM
c. read bytes 0 and 1 from RAM
d. None of the above.
Location: Unit Test Question page: sut4, Question ID: ut4
Which control input to PLD U23 is not necessary for the operation of the address decoder?
a. ADS#
b. M/IO#
c. CLK
d. All are necessary.
Location: Unit Test Question page: sut5, Question ID: ut5
The address decoder's BS16# output activates when which block select is active?
a. RAMSEL#
b. MROMSEL#
c. UROMSEL#
d. Either b. or c.

3-79

32 Bit Microprocessor

Unit 3 Memory Interfacing

Location: Unit Test Question page: sut6, Question ID: ut6


Images occur in your circuit's memory because
a. the address bus is only partially decoded.
b. the address bus is fully decoded.
c. RAM and ROM share some of the same address lines.
d. there are 16- and 32-bit memory areas.
Location: Unit Test Question page: sut7, Question ID: ut7
The least significant address bit (A0) is used in your circuit for addressing
a. RAM.
b. ROM.
c. Both of the above.
d. None of the above.
Location: Unit Test Question page: sut8, Question ID: ut8
One of the functions of PLD U20 in your circuit is to
a. decode byte enables from A0 and A1.
b. decode A0 and A1 from the byte enables.
c. synchronize the byte enables with A0 and A1.
d. None of the above.
Location: Unit Test Question page: sut9, Question ID: ut9
Which group of bytes shown requires 2 bus cycles to transfer?
a. A
b. B
c. C
d. All of the above.
Location: Unit Test Question page: sut10, Question ID: ut10
The highlighted RAM bytes are transferred in two bus cycles. Which byte enables are active in
the second cycle?
a. BE0#
b. BE1#, BE2#, and BE3#
c. BE0# and BE1#
d. BE2# and BE3#

3-80

32 Bit Microprocessor

Unit 4 I/O Interfacing

UNIT 4 I/O INTERFACING

UNIT OBJECTIVE
Demonstrate the signals needed to transfer data between the 386 CPU by using the 32-BIT
MICROPROCESSOR circuit board and its associated input/output components.
UNIT FUNDAMENTALS
Location: Unit Fundamentals Page: sf6, Question ID: f6a
What is the address range for the digital-to-analog converter?
a. 00 to 0FH
b. 10 to 1FH
c. 20 to 2FH
CMS AVAILABLE
None
FAULTS AVAILABLE
None
NEW TERMS AND WORDS
unipolar - having one polarity.
bipolar - having two polarities.
retriggerable one-shot - a monostable multivibrator that can be triggered during its pulse time to
prevent time-out.
EQUIPMENT REQUIRED
F.A.C.E.T. base unit
Multimeter
Oscilloscope, dual trace
32-BIT MICROPROCESSOR circuit board

3-81

32 Bit Microprocessor

Unit 4 I/O Interfacing

Exercise 1 DAC and ADC Ports


EXERCISE OBJECTIVE
Demonstrate the DAC and ADC ports on the 32-BIT MICROPROCESSOR circuit board. Use a
program, voltmeter, and oscilloscope to verify results.
EXERCISE DISCUSSION
Location: Exercise Discussion Page: se1d4, Question ID: e1d4a
What is the output in the bipolar mode when the input is 0V?
a. 00H
b. 80H
c. FFH
EXERCISE PROCEDURE
Location: Exercise Procedure Page: se1p2, Question ID: e1p2a
Which address line must be high to activate the DAC_EN# signal?
a. A4
b. A5
c. A6
Location: Exercise Procedure Page: se1p2, Question ID: e1p2c
3. Which address will enable the DAC?
a. 10H
b. 20H
c. 30H
Location: Exercise Procedure Page: se1p3, Question ID: e1p3a
What address is used to write data to the DAC?
a. 22H
b. 23H

3-82

32 Bit Microprocessor

Unit 4 I/O Interfacing

Location: Exercise Procedure Page: se1p6, Question ID: e1p6a


What is the level of the DAC_EN# signal at U22 pin 17?
a. low
b. high
Location: Exercise Procedure Page: se1p7, Question ID: e1p7a
What is the resolution of the DAC?
a. 0.025V
b. 0.010V
c. 0.100V
Location: Exercise Procedure Page: se1p8, Question ID: e1p8a
Find the decimal value of 80H, and then calculate the DAC output voltage.
DAC Vo =
Vdc
Recall Label for this Question:
Nominal Answer: 1.28
Min/Max Value: (1.242) to (1.318)
Value Calculation: 1.280
Correct Tolerance Percent = true
Correct Minus Tolerance = 3
Correct Plus Tolerance = 3
Location: Exercise Procedure Page: se1p9, Question ID: e1p9a
Measure the output voltage.
DAC Vo =
Vdc
Recall Label for this Question: v2
Nominal Answer: 1.28
Min/Max Value: (1.242) to (1.318)
Value Calculation: 1.280
Correct Tolerance Percent = true
Correct Minus Tolerance = 3
Correct Plus Tolerance = 3

3-83

32 Bit Microprocessor

Unit 4 I/O Interfacing

Location: Exercise Procedure Page: se1p10, Question ID: e1p10a


10. Is your calculated value of Vo (1.28 Vdc) approximately equal to your measured value of Vo
(#v2# Vdc)?
a. yes
b. no
Location: Exercise Procedure Page: se1p11, Question ID: e1p11a
12. Measure the DAC output voltage.
DAC Vo =
Vdc
Recall Label for this Question: None
Nominal Answer: 2.56
Min/Max Value: (2.483) to (2.637)
Value Calculation: 2.560
Correct Tolerance Percent = true
Correct Minus Tolerance = 3
Correct Plus Tolerance = 3
Location: Exercise Procedure Page: se1p12, Question ID: e1p12a
What is the resolution of the DAC when it is set for the 10V range?
a. 0.039V
b. 0.390V
c. 0.010V
Location: Exercise Procedure Page: se1p12, Question ID: e1p12c
14. Measure the DAC output voltage.
DAC Vo =
Vdc
Recall Label for this Question: None
Nominal Answer: 10.0
Min/Max Value: (9.7) to (10.3)
Value Calculation: 10.000
Correct Tolerance Percent = true
Correct Minus Tolerance = 3
Correct Plus Tolerance = 3

3-84

32 Bit Microprocessor

Unit 4 I/O Interfacing

Location: Exercise Procedure Page: se1p14, Question ID: e1p14a


What kind of waveform is displayed on the oscilloscope?
a. ramp
b. sine wave
Location: Exercise Procedure Page: se1p19, Question ID: e1p19a
What is the address range of the ADC_CV signal?
a. 00H to 0FH
b. 10H to 1FH
c. 20H to 2FH
Location: Exercise Procedure Page: se1p24, Question ID: e1p24a
Does your scope display match the figure shown?
a. yes
b. no
Location: Exercise Procedure Page: se1p29, Question ID: e1p29a
Read the AL register contents. The AL register contents are between
a. 50H and 55H.
b. 7EH and 82H.
c. A0H and A4H
Location: Exercise Procedure Page: se1p30, Question ID: e1p30a
The AL register contents are between
a. 0DH-11H
b. 2DH-31H
c. 05H-09H
Location: Exercise Procedure Page: se1p31, Question ID: e1p31a
Read and record the AL register contents.
AL register contents =
H
Recall Label for this Question: None
Nominal Answer: 55.0
Min/Max Value: (52.8) to (57.2)
Value Calculation: 55.000
Correct Tolerance Percent = true
Correct Minus Tolerance = 4
Correct Plus Tolerance = 4

3-85

32 Bit Microprocessor

Unit 4 I/O Interfacing

REVIEW QUESTIONS
Location: Review Questions Page: se1r1, Question ID: e1r1
1. Data lines D16 thru D23 represent which byte of the 4-byte data bus?
a. byte 0
b. byte 1
c. byte 2
d. byte 3
Location: Review Questions Page: se1r2, Question ID: e1r2
2. When the ADC is in the bipolar mode, what is the input voltage range?
a. +10V to 10V
b. +5V to 5V
c. 0V to +10V
d. 0V to 10V
Location: Review Questions Page: se1r3, Question ID: e1r3
3. The DAC is set to the 10V range and has a resolution of 0.039V. What is the output voltage
when a 10H is written to the DAC?
a. 0.62V
b. 5V
c. 10V
d. 0.39V
Location: Review Questions Page: se1r4, Question ID: e1r4
4. Before the ADC is read, what signal must be applied to the ADC?
a. DAC_EN#
b. ADC_EN#
c. ADC_CV
d. DR#
Location: Review Questions Page: se1r5, Question ID: e1r5
5. When the DAC is set to the 2.56V range, a change of 1 LSB on the input causes how much of
a voltage change on the output?
a. 0.010V
b. 0.256V
c. 0.100V
d. 0.0256V

3-86

32 Bit Microprocessor

Unit 4 I/O Interfacing

CMS AVAILABLE
None
FAULTS AVAILABLE
None

3-87

32 Bit Microprocessor

Unit 4 I/O Interfacing

Exercise 2 PPI and Keypad Interface


EXERCISE OBJECTIVE
Demonstrate the programmable peripheral interface (PPI) and the keypad interface by using a
test program and an oscilloscope.
EXERCISE DISCUSSION
Location: Exercise Discussion Page: se2d4, Question ID: e2d4a
To access the control word, address lines A1 and A0 are
a. both low.
b. low and high, respectively.
c. both high.
Location: Exercise Discussion Page: se2d5, Question ID: e2d5a
The PPI is connected to which byte of the data bus?
a. byte 0
b. byte 1
c. byte 2
d. byte 3

3-88

32 Bit Microprocessor

Unit 4 I/O Interfacing

EXERCISE PROCEDURE
Location: Exercise Procedure Page: se2p1, Question ID: e2p1a
What must the state of the input signals be to activate the PPI_EN#?
a. high
b. low
Location: Exercise Procedure Page: se2p5, Question ID: e2p5a
The PPI chip is selected when the signal is
a. low.
b. high.
Location: Exercise Procedure Page: se2p6, Question ID: e2p6a
What state must address line A4 be in to generate the PPI_EN# signal?
a. low
b. high
Location: Exercise Procedure Page: se2p7, Question ID: e2p7a
What state must address line A5 be in to generate the PPI_EN# signal?
a. low
b. high
Location: Exercise Procedure Page: se2p8, Question ID: e2p8a
What state must address line A6 be in to generate the PPI_EN# signal?
a. low
b. high
Location: Exercise Procedure Page: se2p9, Question ID: e2p9a
What state of the M/IO# signal is required to generate the PPI_EN# signal?
a. low
b. high

3-89

32 Bit Microprocessor

Unit 4 I/O Interfacing

Location: Exercise Procedure Page: se2p10, Question ID: e2p10a


What state of the ADS# signal is required to generate the PPI_EN# signal?
a. low
b. high
Location: Exercise Procedure Page: se2p12, Question ID: e2p12a
What is the data on the PB port?
a. 1010 1010 AAH
b. 0101 0101 55H
c. 0000 0000 00H
Location: Exercise Procedure Page: se2p12, Question ID: e2p12c
What is the data on the PB port?
a. 1010 1010 AAH
b. 0101 0101 55H
c. 0000 0000 00H
Location: Exercise Procedure Page: se2p15, Question ID: e2p15a
15. Measure the period (T) of the KSCLK signal.
T=
s
Recall Label for this Question: None
Nominal Answer: 3.8
Min/Max Value: (3.04) to (4.56)
Value Calculation: 3.800
Correct Tolerance Percent = true
Correct Minus Tolerance = 20
Correct Plus Tolerance = 20

3-90

32 Bit Microprocessor

Unit 4 I/O Interfacing

Location: Exercise Procedure Page: se2p16, Question ID: e2p16a


16. The one-shot pulse width equals R44 times C41. Calculate the pulse width (PW) of the oneshot.
PW =
ms
Recall Label for this Question: None
Nominal Answer: 10.0
Min/Max Value: (9.9) to (10.1)
Value Calculation: 10.000
Correct Tolerance Percent = true
Correct Minus Tolerance = 1
Correct Plus Tolerance = 1
Location: Exercise Procedure Page: se2p17, Question ID: e2p17a
Is this signal high or low?
a. high
b. low
Location: Exercise Procedure Page: se2p18, Question ID: e2p18a
18. Press <0>. What level is the STROBE signal while the key is pressed?
a. high
b. low
Location: Exercise Procedure Page: se2p21, Question ID: e2p21a
What is the data in the AH register?
a. F0H
b. ECH
c. FCH
Location: Exercise Procedure Page: se2p22, Question ID: e2p22a
Press <6>. What data should be in the AH register?
a. F9H
b. 99H
c. 9FH

3-91

32 Bit Microprocessor

Unit 4 I/O Interfacing

Location: Exercise Procedure Page: se2p23, Question ID: e2p23a


Does the AH register contain F9?
a. yes
b. no
Location: Exercise Procedure Page: se2p24, Question ID: e2p24a
2. CM 2 has been activated to modify the keypad circuit. Press RESET. Press any key. Is the key
closure recognized?
a. yes
b. no
Location: Exercise Procedure Page: se2p24, Question ID: e2p24c
Which signals can be checked to verify the keypad operation?
a. CLK2 and DAC_EN#
b. KSCLK and STROBE
Location: Exercise Procedure Page: se2p24, Question ID: e2p24e
24. Connect the scope channel 1 probe to U40 pin 13 to check the STROBE signal. Is there a
STROBE signal at this pin when you press a key?
a. yes
b. no
Location: Exercise Procedure Page: se2p25, Question ID: e2p25a
25. Next verify the input signals to U40. Is the KSCLK signal present at U40 pin 1?
a. yes
b. no
Location: Exercise Procedure Page: se2p25, Question ID: e2p25c
26. Check the input signal at U40 pin 2. Is this signal high and then does it go low when you
press a key?
a. yes
b. no
Location: Exercise Procedure Page: se2p25, Question ID: e2p25e
27. CM 2 has been turned off. Does the keypad work normally?
a. yes
b. no

3-92

32 Bit Microprocessor

Unit 4 I/O Interfacing

REVIEW QUESTIONS
Location: Review Questions Page: se2r1, Question ID: e2r1
1. The PPI_EN# signal must be enabled to
a. write to the display.
b. read the keypad.
c. output data to the DAC.
d. input data from the ADC.
Location: Review Questions Page: se2r2, Question ID: e2r2
2. The key code generated by a pressed key is read on which port?
a. PPI PA
b. PPI PB
c. PPI PC
d. None of the above.
Location: Review Questions Page: se2r3, Question ID: e2r3
3. The PPI PB port is used as a(n)
a. serial port.
b. keypad interface.
c. parallel port.
d. analog output port.
Location: Review Questions Page: se2r4, Question ID: e2r4
4. Which signal is generated when one-shot U40 times out?
a. DAC_EN#
b. PPI_EN#
c. KSCLK
d. STROBE
Location: Review Questions Page: se2r5, Question ID: e2r5
5. The CPU reads DIP switch S3 during the intitialization routine by reading the PPI
a. PA port.
b. PB port.
c. PC port.
d. None of the above.

3-93

32 Bit Microprocessor

Unit 4 I/O Interfacing

CMS AVAILABLE
CM 2
FAULTS AVAILABLE
None

3-94

32 Bit Microprocessor

Unit 4 I/O Interfacing

Exercise 3 Display and Serial Port


EXERCISE OBJECTIVE
Demonstrate the display and the serial port using test routines and an oscilloscope.
EXERCISE DISCUSSION
Location: Exercise Discussion Page: se3d2, Question ID: e3d2a
What must the level of A0 be to select byte 1 of the data bus?
a. high
b. low
Location: Exercise Discussion Page: se3d7, Question ID: e3d7a
What are the signal levels at the DB9 connector P2?
a. 5 volt logic levels.
b. RS-232C logic levels.
EXERCISE PROCEDURE
Location: Exercise Procedure Page: se3p2, Question ID: e3p2a
1. Observe the figure of U22 and determine what address range is required to generate the
display enable (DP_EN) signal?
a. 40H to 4FH
b. 50H to 5FH
c. 60H to 6FH

3-95

32 Bit Microprocessor

Unit 4 I/O Interfacing

Location: Exercise Procedure Page: se3p3, Question ID: e3p3a


2. Which byte of the data bus is the display connected to?
a. byte 0
b. byte 1
c. byte 2
d. byte 3
Location: Exercise Procedure Page: se3p5, Question ID: e3p5a
What character does a 35H generate?
a. 5
b. H
Location: Exercise Procedure Page: se3p6, Question ID: e3p6a
5. Run the program from 0000:4000. What is the active level of the DP_EN signal?
a. high
b. low
Location: Exercise Procedure Page: se3p7, Question ID: e3p7a
6. Set the oscilloscope vertical mode to ALT and CH2 for 5 V/DIV. Connect the channel 2 probe
to A2. Why is A2 high when the display is enabled?
a. The display address is 55.
b. The display is being written to.
Location: Exercise Procedure Page: se3p7, Question ID: e3p7c
7. Use the UNIT HELP for the display instruction set and determine what writing an 01H to the
display would do.
a. read busy flag and address
b. clear display
c. return home

3-96

32 Bit Microprocessor

Unit 4 I/O Interfacing

Location: Exercise Procedure Page: se3p8, Question ID: e3p8a


8. Connect the scope CH 2 to the R/W# signal at U29 pin 6. When the R/W# signal is low, what
operation is being done to the display?
a. read operation
b. write operation
Location: Exercise Procedure Page: se3p9, Question ID: e3p9a
9. How can you change the character written to the display?
a. Change the byte at 04000.
b. Change the byte at 04001.
c. Change the byte at 04005.
Location: Exercise Procedure Page: se3p10, Question ID: e3p10a
10. Change the data at 04001 from 35 to 48. Run the program. What is the character on the
display?
a. 6
b. H
Location: Exercise Procedure Page: se3p18, Question ID: e3p18a
15. What is the hex value of the byte displayed on the oscilloscope?
a. 0FH
b. F0H
c. FFH

3-97

32 Bit Microprocessor

Unit 4 I/O Interfacing

REVIEW QUESTIONS
Location: Review Questions Page: se3r1, Question ID: e3r1
1. What is the address range of the DP_EN signal?
a. 30H to 3FH
b. 40H to 4FH
c. 50H to 5FH
d. 60H to 6FH
Location: Review Questions Page: se3r2, Question ID: e3r2
2. What address is used to write a character to the display?
a. 51H
b. 55H
c. 50H
d. 52H
Location: Review Questions Page: se3r3, Question ID: e3r3
3. What is the level for an RS-232C logic 1?
a. 5V to 15V
b. 0V
c. 5V
d. +5V to +15V
Location: Review Questions Page: se3r4, Question ID: e3r4
4. The serial port is used to
a. transmit serial data.
b. receive serial data.
c. transmit and receive serial data.
d. transmit and receive parallel data.
Location: Review Questions Page: se3r5, Question ID: e3r5
5. The display on the 32-BIT MICROPROCESSOR circuit board is a (an)
a. LED display.
b. fluorescent display.
c. incandescent display.
d. LCD display.

3-98

32 Bit Microprocessor

Unit 4 I/O Interfacing

CMS AVAILABLE
None
FAULTS AVAILABLE
None

3-99

32 Bit Microprocessor

Unit 4 I/O Interfacing

UNIT TEST
Location: Unit Test Page: sut1, Question ID: ut1
A DAC port is connected as shown. From what map is the DAC port addressed?
a. memory
b. I/O
c. ROM
d. RAM
Location: Unit Test Page: sut2, Question ID: ut2
The address range of the DAC_EN# signal is 20H to 2FH. What address is used to write to the
DAC?
a. 20H
b. 21H
c. 22H
d. 23H
Location: Unit Test Page: sut3, Question ID: ut3
To output data from the CPU to an I/O device, what instruction must be used?
a. JMP
b. OUT
c. IN
d. MOV
Location: Unit Test Page: sut4, Question ID: ut4
Which of the following devices is used to input analog information into a microprocessor
system?
a. ADC
b. DAC
c. serial port
d. PPI

3-100

32 Bit Microprocessor

Unit 4 I/O Interfacing

Location: Unit Test Page: sut5, Question ID: ut5


The serial port can be used to communicate with other external
a. parallel ports.
b. RS-232C ports.
c. ADC ports.
d. DAC ports.
Location: Unit Test Page: sut6, Question ID: ut6
Which of the following instructions could be used to read the byte in the ADC after a conversion
has been completed?
a. IN AL, 90H
b. OUT AL, 13H
c. MOV AX, BX
d. IN AL, 13H
Location: Unit Test Page: sut7, Question ID: ut7
The resolution of a DAC with a 10-volt output and 8 input bits equals
a. 10 divided by 256.
b. 10 divided by 8.
c. 8 divided by 10.
d. 256 divided by 10.
Location: Unit Test Page: sut8, Question ID: ut8
What are the RS-232C signal levels?
a. Logic 1 is 5V and logic 0 is 0V.
b. Logic 0 is 5V to 15V and logic 1 is +5V to +15V.
c. Logic 1 is 5V to 15V and logic 0 is +5V to +15V.
d. Logic 0 is 5V and logic 1 is 0V.

3-101

32 Bit Microprocessor

Unit 4 I/O Interfacing

Location: Unit Test Page: sut9, Question ID: ut9


When an ADC is used in a bipolar mode the input signal can be
a. 80H.
b. only negative.
c. only positive.
d. positive or negative.
Location: Unit Test Page: sut10, Question ID: ut10
What character will be on the display if a 45H is written to the character generator?
a. 5
b. E
c. F
d. d

3-102

32 Bit Microprocessor

Unit 5 Interrupt Processing

UNIT 5 INTERRUPT PROCESSING

UNIT OBJECTIVE
Demonstrate how the 80386 CPU processes hardware and software interrupts. Verify results by
entering and analyzing test programs on the 32-BIT MICROPROCESSOR circuit board and by
observing signals with the oscilloscope and logic probe.
UNIT FUNDAMENTALS
Location: Unit Fundamentals page: sf5, Question ID: f5a
In this figure, the stack pointer decrements by 2, indicating that data is stored in
a. bytes.
b. words.
c. doublewords.
Location: Unit Fundamentals page: sf6, Question ID: f6a
Is the data that you pop from the stack always the first or last data pushed onto the stack?
a. last
b. first
Location: Unit Fundamentals page: sf8, Question ID: f8a
At the end of the service routine, the CPU pops the information off the stack in
a. the order in which it was pushed.
b. reverse order.
Location: Unit Fundamentals page: sf11, Question ID: f8a
The maskable interrupts are masked when
a. IF is set.
b. IF is cleared.
Location: Unit Fundamentals page: sf13, Question ID: f8a
Which type generates an interrupt after the instruction that causes the exception?
a. fault.
b. trap.
c. abort.

3-103

32 Bit Microprocessor

Unit 5 Interrupt Processing

Location: Unit Fundamentals page: sf15, Question ID: f8a


Which type numbers are for hardware interrupts?
a. 32-255
b. 2
c. All of the above.
Location: Unit Fundamentals page: sf16, Question ID: f8a
At what address is the vector for a type 06 interrupt located?
a. 006H.
b. 018H
c.024H
CMS AVAILABLE
None
FAULTS AVAILABLE
None

3-104

32 Bit Microprocessor

Unit 5 Interrupt Processing

NEW TERMS AND WORDS


interrupt - a process by which the CPU suspends operation of its program to service the needs of
an external device or an internal condition. When the interrupt has been serviced, the CPU
normally returns to the next instruction to be executed in the interrupted program.
interrupt service routine (ISR) - a set of instructions to which the CPU jumps when an interrupt
or exception occurs.
flags (FLG) register - a CPU register whose individual bits indicate or control the status
of various CPU functions
stack - an area of RAM set aside for sequential storage and retrieval of data. Stacks are
used for several microprocessor functions, including interrupt processing.
stack segment (SS) - a CPU register that contains the segment value of the currently active stack.
stack pointer (SP) - a CPU register that contains the address of the last data that was pushed onto
the stack.
push - an operation in which the CPU stores a word or a doubleword to the top of the stack and
decrements the stack pointer.
pop - an operation by which the CPU removes a word or doubleword from the top of the stack
and then increments the stack pointer.
last-in-first-out (LIFO) stack - a type of stack in which the last data pushed onto the stack is the
first data to be popped off the stack.
hardware interrupts - an interrupt caused by an external hardware signal.
exceptions - the CPU 's response to certain internal conditions during the execution of an
instruction.
maskable interrupts - a hardware interrupt that you can disable (mask) by setting the IF
bit in the FLG register.
type number - a number in the range 0-255 (00-FFH) that is used to identify the type of interrupt
or exception being processed by the CPU.
vector table - a table that contains the vectors for interrupt service routines. In the 80386 CPU's
real mode the vector table is normally located in the first 1 Kbyte of RAM (00-3FFH).
vector - a logical address value that points to the first location of an interrupt service routine.
programmed exceptions - an exception that results from the execution of software interrupt
instructions.
software interrupts - an instruction that causes a programmed exception.
Processor-detected exceptions - an exception that results from the CPU's recognition of certain
internal conditions.
breakpoint - a software interrupt that stops a program for the purpose of debugging or evaluating
system hardware or software.
overflow - a condition that occurs when the result of an arithmetic or logic operation changes the
MSB (sign bit) of an operand.
sign bit - a signed operand's MSB, which indicates the algebraic sign of the operand.
non-maskable interrupt (NMI) - a hardware interrupt that you cannot mask or disable.

3-105

32 Bit Microprocessor

Unit 5 Interrupt Processing

EQUIPMENT REQUIRED
F.A.C.E.T. base unit
Oscilloscope, dual trace
32-BIT MICROPROCESSOR circuit board

3-106

32 Bit Microprocessor

Unit 5 Interrupt Processing

Exercise 1 Non-Maskable Interrupts


EXERCISE OBJECTIVE
Demonstrate the non-maskable hardware interrupt operations of the 32-BIT
MICROPROCESSOR circuit board.
EXERCISE DISCUSSION
Location: Exercise Discussion page: se1d2, Question ID: e1d2a
The CPU's NMI input is activated
a. only when the HALT switch is pressed and NMI# is activated at the same time.
b. when the HALT switch is pressed or NMI # is activated.
Location: Exercise Discussion page: se1d4, Question ID: e1d4a
Why does the flow chart not show the code segment, instruction pointer, and flag register
contents being saved to the stack?
a. The CS, IP, and FLG register contents are not saved.
b. The CS, IP, and FLG register contents are pushed onto the stack before the CPU jumps
to the service routine.
Location: Exercise Discussion page: se1d6, Question ID: e1d6a
How many additional pulses are ignored in this figure?
a. two
b. three
c. four

3-107

32 Bit Microprocessor

Unit 5 Interrupt Processing

EXERCISE PROCEDURE
Location: Exercise Procedure page: se1p3, Question ID: e1p3a
The vector 0000:7000 points the CPU to the NMI service routine. Where must the vector be
located?
a. 00002H
b. 00004H
c. 00008H
Location: Exercise Procedure page: se1p4, Question ID: e1p4a
In this PROCEDURE section, you will establish 02000H as the first stack location to which the
CPU will store register information. How can you establish 02000H as the top of the stack?
a. Change the CS/IP register contents to 0000:2000.
b. Change the SS/SP register contents to 0000:2000.
c. Write the SS/SP register contents to 0000:2000.
Location: Exercise Procedure page: se1p4, Question ID: e1p4c
When an interrupt occurs, what register contents are pushed onto the stack?
a. flags
b. code segment
c. instruction pointer
d. All of the above.
Location: Exercise Procedure page: se1p5, Question ID: e1p5a
4. View the contents of the BP/FL registers. What number is currently contained in the flags
register?
a. 0002H
b. 00000000H
Location: Exercise Procedure page: se1p5, Question ID: e1p5c
What is the status of the interrupt enable flag?
a. set
b. cleared

3-108

32 Bit Microprocessor

Unit 5 Interrupt Processing

Location: Exercise Procedure page: se1p7, Question ID: e1p7a


7. Switch to single cycle mode, and press the single cycle STEP switch several times as you
observe the low address LEDs. Where is the CPU executing instructions?
a. service routine
b. main program
c. stack
Location: Exercise Procedure page: se1p8, Question ID: e1p8a
How can you generate a non-maskable interrupt to the CPU?
a. by pressing HALT
b. by connecting NMI# to ground
c. Either of the above.
Location: Exercise Procedure page: se1p8, Question ID: e1p8c
The LEDs indicate that the CPU is
a. about to fetch the interrupt vector.
b. about to jump to the service routine.
c. still in the main program.
Location: Exercise Procedure page: se1p9, Question ID: e1p9a
According to the data and address LEDs, what will the CPU do next?
a. return from the ISR
b. push data to the stack
c. fetch the first ISR bytes
Location: Exercise Procedure page: se1p11, Question ID: e1p11a
Do the data and address LEDs agree with the table?
a. yes
b. no
Location: Exercise Procedure page: se1p11, Question ID: e1p11c
The LEDs indicate that the CPU will push the contents of the flags register onto the stack. You
previously set the top of the stack at 2000H. Why does the push occur at 1FFEH?
a. The stack pointer is decremented.
b. The stack pointer is incremented.

3-109

32 Bit Microprocessor

Unit 5 Interrupt Processing

Location: Exercise Procedure page: se1p11, Question ID: e1p11e


How can you confirm that this is a stack push and not a stack pop?
a. Read the FLG register contents.
b. Check the level of the W/R# line.
Location: Exercise Procedure page: se1p11, Question ID: e1p11g
12. Connect the logic probe to W/R#. Is the bus cycle at 1FFEH a read or a write cycle?
a. read
b. write
Location: Exercise Procedure page: se1p12, Question ID: e1p12a
You determined in a previous unit that, for 16-bit write operations, the CPU writes on 16 data
lines and duplicates the data on the other 16 lines. How can you determine which 16 lines are
involved in the transfer?
a. by the address
b. by reading the byte enable lines
c. Either of the above.
Location: Exercise Procedure page: se1p12, Question ID: e1p12c
According to the address, the transfer takes place on the
a. upper 16 lines.
b. lower 16 lines.
Location: Exercise Procedure page: se1p12, Question ID: e1p12e
13. Use the logic probe to check the levels of BE0# through BE3#. Which byte enables are
active?
a. BEO# and BE1#
b. BE2# and BE3#
c. all four
Location: Exercise Procedure page: se1p13, Question ID: e1p13a
14. Press STEP once. According to the address, data, and logic probe LEDs, what operation will
take place?
a. push CS
b. pop CS
c. push FLG

3-110

32 Bit Microprocessor

Unit 5 Interrupt Processing

Location: Exercise Procedure page: se1p14, Question ID: e1p14a


15. Press STEP once. What operation is now indicated by the logic probe and LEDs?
a. pop CS
b. pop IP
c. push IP
Location: Exercise Procedure page: se1p16, Question ID: e1p16a
17. Press STEP once to view the next address and data. The bytes that follow the return
instruction appear on the data bus because
a. they are part of the return instruction.
b. the CPU fetches these bytes at the same time it decodes the return instruction.
c. the bytes were popped off the stack.
Location: Exercise Procedure page: se1p16, Question ID: e1p16c
The CPU will
a. pop IP from the stack.
b. push IP onto the stack.
c. pop FLG from the stack.
Location: Exercise Procedure page: se1p17, Question ID: e1p17a
When the IP data is popped from the stack,
a. the data is restored to the IP register.
b. the stack pointer increments.
c. Both of the above.
Location: Exercise Procedure page: se1p19, Question ID: e1p19a
Each time register data was popped from the stack, the stack pointer incremented, and the
information was popped off in reverse order (IP-CS-FLG). What type of stack does this indicate?
a. Last-In-First-Out (LIFO)
b. First-In-First-Out (FIFO)
Location: Exercise Procedure page: se1p19, Question ID: e1p19c
21. Press STEP several times as you observe the address LEDs. The LEDs indicate that the CPU
a. is repeating the interrupt service routine.
b. has returned to the main program at 4000H.

3-111

32 Bit Microprocessor

Unit 5 Interrupt Processing

Location: Exercise Procedure page: se1p20, Question ID: e1p20a


At the beginning of the PROCEDURE, you determined that the IF bit in the flags register was
cleared, indicating that interrupts should be masked out. Why was the interrupt signal recognized
in this program?
a. The IF bit was set during the program execution.
b. An exception occurred.
c. The interrupt signal you applied was a non-maskable type.
Location: Exercise Procedure page: se1p23, Question ID: e1p23a
24. Press STEP once. The address LEDs indicate that the CPU has
a. ignored the interrupt.
b. recognized the interrupt.
Location: Exercise Procedure page: se1p24, Question ID: e1p24a
26. Press STEP once, and read the address LEDs. The LEDs indicate that the CPU has
a. returned to the main program.
b. started to repeat the ISR.
Location: Exercise Procedure page: se1p24, Question ID: e1p24c
27. Press STEP several times as you observe the address LEDs. Release the HALT switch. The
LEDs indicate that the CPU is
a. continuously executing the loop in the main program.
b. repeating the ISR.
c. Neither of the above.
Location: Exercise Procedure page: se1p24, Question ID: e1p24e
You can conclude that the NMI input is
a. level sensitive.
b. edge sensitive.
Location: Exercise Procedure page: se1p27, Question ID: e1p27a
30. Press STEP repeatedly to determine the number of times the CPU jumps to the ISR. The
number of NMI pulses that the CPU recognized is
a. one.
b. two.
c. four.

3-112

32 Bit Microprocessor

Unit 5 Interrupt Processing

REVIEW QUESTIONS
Location: Review Questions page: se1r1, Question ID: e1r1
1. When a non-maskable interrupt occurs, the CPU uses a vector type number
a. from anywhere in the range 00-FFH.
b. that is part of the interrupt instruction.
c. that is taken from the stack.
d. of 02.
Location: Review Questions page: se1r2, Question ID: e1r2
2. Which register's contents are not automatically pushed onto the stack when an interrupt
occurs?
a. code segment
b. instruction pointer
c. stack pointer
d. flags register
Location: Review Questions page: se1r3, Question ID: e1r3
3. How can you determine the address at which the NMI vector is located?
a. Multiply the type number by 4.
b. Divide the type number by 4.
c. The type number is the address.
d. None of the above.
Location: Review Questions page: se1r4, Question ID: e1r4
4. Suppose the stack segment and stack pointer registers contain the address 0000:2006 before an
interrupt occurs. Assume that the service routine itself does not perform any stack operations.
What address is contained in SS/SP when the CPU returns from the service routine?
a. 0000:2000
b. 0000:2003
c. 0000:2006
d. cannot be determined
Location: Review Questions page: se1r5, Question ID: e1r5
5. How can you disable a non-maskable interrupt?
a. by setting the IF bit in the FLG register
b. by clearing the IF bit
c. with an instruction
d. None of the above.

3-113

32 Bit Microprocessor

Unit 5 Interrupt Processing

CMS AVAILABLE
None
FAULTS AVAILABLE
None

3-114

32 Bit Microprocessor

Unit 5 Interrupt Processing

Exercise 2 Maskable Interrupts


EXERCISE OBJECTIVE
Explain and demonstrate the operation of maskable hardware interrupts for the 80386
microprocessor.
EXERCISE DISCUSSION
Location: Exercise Discussion page: se2d4, Question ID: e2d4a
Which device generates the INTA# signal?
a. CPU
b. bus controller
c. I/O decoder
Location: Exercise Discussion page: se2d10, Question ID: e2d10a
What is the hex value of ICW1 when ICW4 is not needed and edge-triggered and SNGL modes
are specified?
a. 12H
b. 13H
c. 1AH
d. 1BH
Location: Exercise Discussion page: se2d11, Question ID: e2d11a
What is the hex type number for IR6 if ICW2 = C8H?
a. CDH
b. CEH
c. CFH
Location: Exercise Discussion page: se2d12, Question ID: e2d12a
After ICW1 and ICW2 are received, the PIC determines if cascade mode was specified. What
condition specifies cascade mode?
a. ICW1 bit D3 = 1
b. ICW1 bit D1 = 0
c. ICW2 bit D0 = 1

3-115

32 Bit Microprocessor

Unit 5 Interrupt Processing

Location: Exercise Discussion page: se2d12, Question ID: e2d12c


The PIC then determines if ICW4 is needed. For which condition is ICW4 needed?
a. ICW2 bit D0 = 0
b. ICW1 bit D0 = 0
c. ICW1 bit D0 = 1
d. ICW1 bit D3 = 1
Location: Exercise Discussion page: se2d17, Question ID: e2d17a
The idle states are followed by the second INTA cycle. What signal levels are different from
those in the first INTA cycle?
a. BE0#, A3-A31, M/IO#, D/C#, and W/R#
b. BE1#, BE2#, and BE3#
c. A2
EXERCISE PROCEDURE
Location: Exercise Procedure page: se2p2, Question ID: e2p2a
When a maskable interrupt occurs, the CPU reads the vector type from the PIC. The type number
is in the range 32-25510. What is the corresponding hexadecimal range?
a. 32-255H
b. 20-FFH
c. 20-FFFH
Location: Exercise Procedure page: se2p3, Question ID: e2p3a
Before maskable interrupts can be processed, the CPU must program the PIC's operating mode
with initialization command words. The first PROCEDURE section calls for level-triggered
mode and ICW4 needed. What value must the CPU send for ICW1?
a. 12H
b. 13H
c. 1BH
Location: Exercise Procedure page: se2p4, Question ID: e2p4a
What value of ICW2 must be sent to the PIC?
a. 40H
b. 47H
c. 28H
d. 2FH

3-116

32 Bit Microprocessor

Unit 5 Interrupt Processing

Location: Exercise Procedure page: se2p5, Question ID: e2p5a


The program you will use in this PROCEDURE section requires automatic end of interrupt.
What value of ICW4 is needed?
a. 03H
b. 02H
c. 01H
Location: Exercise Procedure page: se2p7, Question ID: e2p7a
Why is the I/O address 30H for ICW1 and 34H for ICW2?
a. ICW2 is not sent to the PIC.
b. Address line A2 is 0 for ICW1 and 1 for ICW2.
c. Address line A2 is 1 for ICW1 and 0 for ICW2.
Location: Exercise Procedure page: se2p8, Question ID: e2p8a
The next program line has a set interrupt (STI) instruction. What does this instruction do?
a. enables maskable interrupts
b. disables maskable interrupts
c. disables non-maskable interrupts
Location: Exercise Procedure page: se2p10, Question ID: e2p10a
The address of each type is
a. twice the type number.
b. 4 times the type number.
c. any free memory location, independent of type number.
Location: Exercise Procedure page: se2p13, Question ID: e2p13a
The CPU is executing the
a. initialization instructions from 05000H to 0500CH.
b. main program loop at 0500DH.
Location: Exercise Procedure page: se2p14, Question ID: e2p14a
7. Press STEP once. What can you determine from the LEDs?
a. The CPU has recognized an interrupt request.
b. The CPU is still executing the main program.
c. The CPU is executing a service routine.

3-117

32 Bit Microprocessor

Unit 5 Interrupt Processing

Location: Exercise Procedure page: se2p15, Question ID: e2p15a


The 0004H on the address LEDs indicates the first interrupt acknowledge cycle.
How can you confirm that this is an INTA cycle?
a. Check the NMI input.
b. Check the W/R#, D/C#, and M/IO# outputs.
c. Both of the above.
Location: Exercise Procedure page: se2p16, Question ID: e2p16a
9. Press STEP once. How can you confirm that this is the second INTA cycle?
a. W/R#, D/C#, and M/IO# are low.
b. All 32 address lines are low.
c. Both of the above.
Location: Exercise Procedure page: se2p16, Question ID: e2p16c
The address and data for the second INTA cycle are now shown in the table. The value 2BH in
the lower data byte is the
a. vector type number.
b. vector address.
c. interrupt vector.
Location: Exercise Procedure page: se2p17, Question ID: e2p17a
10. Press STEP once. What number appears on the address LEDs?
a. the vector type
b. the vector address
c. the interrupt vector
Location: Exercise Procedure page: se2p17, Question ID: e2p17c
What is the number displayed on the data LEDs?
a. the interrupt vector
b. the ISR instruction
Location: Exercise Procedure page: se2p18, Question ID: e2p18a
11. Press STEP once. The address LEDs read 7000H, although the vector is 7003H. Why is the
address 7000H?
a. The address LEDs are wrong.
b. The CPU is executing more than one service routine.
c. The CPU jumped to the doubleword address in which the vector is located.

3-118

32 Bit Microprocessor

Unit 5 Interrupt Processing

Location: Exercise Procedure page: se2p20, Question ID: e2p20a


14. Press STEP several more times. The address LEDs indicate that the CPU
a. is repeating the service routine.
b. has returned to the main program.
Location: Exercise Procedure page: se2p20, Question ID: e2p20c
Why is the service routine repeated?
a. Service routines are always repeated.
b. The PIC is programmed for level-triggered mode.
c. The PIC is programmed for edge-triggered mode.
Location: Exercise Procedure page: se2p22, Question ID: e2p22a
To program the PIC for edge-triggered mode, you must change bit D3 to 0 in ICW1. Assuming
that bit D0 remains 1, what is the resulting value of ICW1?
a. 03H
b. 13H
c. 1BH
Location: Exercise Procedure page: se2p24, Question ID: e2p24a
The address alternates between 500CH and 5010H, indicating that the CPU is continuously
executing the main program without jumping to the service routine. This is because
a. the PIC is now programmed for edge-triggered mode.
b. there is no interrupt signal present.
Location: Exercise Procedure page: se2p25, Question ID: e2p25a
An active level was maintained on an IR input while the PIC was programmed for edge-triggered
mode. Your results show that the CPU
a. jumps to the ISR once and then remains in the main program.
b. repeats the ISR as long as the level is applied.
Location: Exercise Procedure page: se2p27, Question ID: e2p27a
The low data byte was previously 2BH, indicating an interrupt request on IR3. Why is this byte
now 2FH?
a. The interrupt signal was active for only the first INTA cycle.
b. The interrupt signal was active for both INTA cycles.
c. A different interrupt request was activated.

3-119

32 Bit Microprocessor

Unit 5 Interrupt Processing

Location: Exercise Procedure page: se2p28, Question ID: e2p28a


The vector on the data bus is 0000:7007 because
a. this is the vector for the IR3 service routine.
b. the PIC always uses type number 7 when the IR signal is not present for both INTA
cycles.
Location: Exercise Procedure page: se2p28, Question ID: e2p28c
You can conclude from this PROCEDURE section that, if the IR signal is absent for the second
INTA cycle, the PIC
a. does not interrupt the CPU.
b. interrupts the CPU but sends the type number 7.
c. interrupts the CPU and sends a type number based on which IR input was active.
Location: Exercise Procedure page: se2p32, Question ID: e2p32a
Do the waveforms on your scope appear as shown?
a. yes
b. no
Location: Exercise Procedure page: se2p32, Question ID: e2p32c
What operation occurs when the W/R# line is high?
a. The CPU pushes data onto the stack.
b. The CPU pops data from the stack.
c. The PIC sends a type number to the CPU.
Location: Exercise Procedure page: se2p34, Question ID: e2p34a
Do the waveforms on your scope appear as shown here?
a. yes
b. no
Location: Exercise Procedure page: se2p36, Question ID: e2p36a
Do the ADS# and RDY# waveforms on your scope appear as shown here?
a. yes
b. no

3-120

32 Bit Microprocessor

Unit 5 Interrupt Processing

Location: Exercise Procedure page: se2p36, Question ID: e2p36c


The idle states are the CLK cycles that occur
a. before the ADS# pulse.
b. after the RDY# pulse.
c. between the RDY# and ADS# pulses.
Location: Exercise Procedure page: se2p36, Question ID: e2p36e
How many idle states occur between the INTA# pulses?
a. four
b. five
c. six
Location: Exercise Procedure page: se2p39, Question ID: e2p39a
34. Turn off the SINGLE CYCLE switch and press RESET. Connect +5V to IR0, and then
remove the connection. What indication tells you that an interrupt has been recognized?
a. data LEDs
b. address LEDs
c. LCD display
d. All of the above.
Location: Exercise Procedure page: se2p40, Question ID: e2p40a
36. Repeat step 35 for each remaining PIC input, IR2 through IR7. Does each message indicate
the correct IR number?
a. yes
b. no
Location: Exercise Procedure page: se2p41, Question ID: e2p41a
38. Repeat step 37 for the remaining PIC inputs IR1 through IR7. According to the LCD display,
which interrupt requests are working properly?
a. IR0 through IR3
b. IR4 through IR7
c. None.
Location: Exercise Procedure page: se2p42, Question ID: e2p42a
39. Use the logic probe to check the levels of the control inputs and outputs directly at the PIC.
Which of the following conditions accounts for the PIC's failure to process interrupts?
a. IOWC# shorted to ground
b. INTA# shorted to ground
c. A2 shorted to Vcc
d. IORC# shorted to Vcc

3-121

32 Bit Microprocessor

Unit 5 Interrupt Processing

REVIEW QUESTIONS
Location: Review Questions page: se2r1, Question ID: e2r1
1. You can disable the CPU's recognition of maskable interrupts by
a. setting the IF bit in the flags register.
b. clearing the IF bit in the flags register.
c. changing command word ICW1.
d. changing command word ICW2.
Location: Review Questions page: se2r2, Question ID: e2r2
2. The complete interrupt acknowledge sequence for maskable interrupts consists of
a. two INTA cycles and then four idle states.
b. four idle states and then two INTA cycles.
c. one INTA cycle, four idle states, and then a second INTA cycle.
d. one INTA cycle and then four idle states.
Location: Review Questions page: se2r3, Question ID: e2r3
3. When a maskable interrupt occurs, the vector type number
a. is sent to the CPU by the PIC.
b. is sent to the PIC by the interrupting device.
c. can be anywhere in the range 00-FFH.
d. is always 02H.
Location: Review Questions page: se2r4, Question ID: e2r4
4. If the CPU sends the PIC a value of A8H for ICW2, what is the hex type number for IR2?
a. A8H
b. AAH
c. ABH
d. ACH
Location: Review Questions page: se2r5, Question ID: e2r5
5. Which PIC control signal is not used when the CPU sends command words?
a. CS
b. WR
c. A0
d. INTR

3-122

32 Bit Microprocessor

Unit 5 Interrupt Processing

CMS AVAILABLE
CM 18
FAULTS AVAILABLE
None

3-123

32 Bit Microprocessor

Unit 5 Interrupt Processing

Exercise 3 Exceptions
EXERCISE OBJECTIVE
Explain and demonstrate how exceptions interrupt the 80386 microprocessor.
EXERCISE DISCUSSION
Location: Exercise Discussion page: se3d2, Question ID: e3d2a
The INT3 software interrupt, also called a breakpoint, has a type number of 3. At what address
is the ISR's vector located?
a. 00003H
b. 00012H
c. 0000CH
Location: Exercise Discussion page: se3d7, Question ID: e3d7a
Which addition results in an overflow?
a. 7EH + 01H
b. 7FH + 01H
c. Both of these.
Location: Exercise Discussion page: se3d9, Question ID: e3d9a
What interrupt is specified by the op code CD 10? (Remember that the type numbers in the table
are in decimal and the op code bytes are in hexadecimal.)
a. invalid task state segment
b. coprocessor error
c. debug exception

3-124

32 Bit Microprocessor

Unit 5 Interrupt Processing

EXERCISE PROCEDURE
Location: Exercise Procedure page: se3p2, Question ID: e3p2a
At what address can you find the interrupt vector for INTO?
a. 00004H
b. 00010H
c. 00016H
Location: Exercise Procedure page: se3p2, Question ID: e3p2c
What is the address of the INT3 interrupt vector?
a. 00003H
b. 0000CH
c. 00012H
Location: Exercise Procedure page: se3p4, Question ID: e3p4a
The location's segment is contained in the data segment (DS) register. The first two lines set DS
to 0000H. What is the complete jump-to address?
a. 0000:0010
b. 0010:0000H
Location: Exercise Procedure page: se3p6, Question ID: e3p6a
Which message appears in the LCD display?
a. A
b. B
c. C
Location: Exercise Procedure page: se3p6, Question ID: e3p6c
3. Press any key on the keypad. The error message is
a. still displayed.
b. gone.
Location: Exercise Procedure page: se3p8, Question ID: e3p8a
The flow diagram in the help window (click on Help) illustrates the operation of the main
program and the service routines. For what condition is an error message displayed?
a. overflow
b. no overflow

3-125

32 Bit Microprocessor

Unit 5 Interrupt Processing

Location: Exercise Procedure page: se3p9, Question ID: e3p9a


What should you do before running the main program?
a. Load values into the AL and BL registers.
b. Enter INTO and INT3 service routines into memory.
c. Both of the above.
Location: Exercise Procedure page: se3p10, Question ID: e3p10a
5. Use the register mode to load 7E into AL and 01H into BL. The sum is 7FH (7EH + 01H).
Will this addition result in an overflow?
a. yes
b. no
Location: Exercise Procedure page: se3p10, Question ID: e3p10c
6. Exit the register mode, then press <GO> and enter "0000:6000" to run the program. Based on
the display, which type of interrupt occurred?
a. INTO
b. INT3
Location: Exercise Procedure page: se3p11, Question ID: e3p11a
7. Read the contents of the FLG register. The overflow flag is bit 11, which is the MSB of digit
2. What is the status of the OF bit?
a. set
b. cleared
Location: Exercise Procedure page: se3p12, Question ID: e3p12a
If you ran the main program again with the present values in AL and BL, what would happen?
a. The sum would exceed 7FH.
b. An overflow would occur.
c. Both of the above.
Location: Exercise Procedure page: se3p12, Question ID: e3p12c
What confirms your prediction that the addition of 7FH and 01H would cause an overflow?
a. An error message appears in the display.
b. The OF flag is set.
c. The sum (contained in AL) exceeds 7FH.
d. All of the above.

3-126

32 Bit Microprocessor

Unit 5 Interrupt Processing

Location: Exercise Procedure page: se3p13, Question ID: e3p13a


10. Press any key to cancel the error message. Read the contents of the EAX register. What is the
value of AL?
a. 7FH
b. 80H
c. 81H
Location: Exercise Procedure page: se3p13, Question ID: e3p13c
11. Read the contents of the FLG register. Convert digit 2 to its binary value. The MSB of digit 2
is the overflow flag. The OF bit is
a. set.
b. cleared.
Location: Exercise Procedure page: se3p17, Question ID: e3p17a
13. Press <GO> and enter "0000 4000" to run the program. Which message appears on the
display?
a. A
b. B
c. C
Location: Exercise Procedure page: se3p18, Question ID: e3p18a
The CPU will execute the divide instruction
a. if BL = 0.
b. if BL 0.
c. on either condition.
Location: Exercise Procedure page: se3p19, Question ID: e3p19a
If you run the program with these values, what type of interrupt will occur?
a. divide error
b. breakpoint
c. None
Location: Exercise Procedure page: se3p19, Question ID: e3p19c
17. Exit the register mode, press <GO>, and enter "0000 5000" to run the program. The display
indicates that
a. a division has occurred.
b. no division has occurred.

3-127

32 Bit Microprocessor

Unit 5 Interrupt Processing

Location: Exercise Procedure page: se3p20, Question ID: e3p20a


19. Change the contents of BL to 00H. What type of interrupt will result if you run the program
with these values?
a. divide error
b. breakpoint
Location: Exercise Procedure page: se3p20, Question ID: e3p20c
20. Exit the register mode and run the program at 0000:5000. The display shows the divide error
message. Read the contents of AL and BL. The values indicate that the divide instruction was
a. executed.
b. not executed.
Location: Exercise Procedure page: se3p21, Question ID: e3p21a
22. Exit the register mode, and run the program at 0000:5000. Read the contents of AL and BL.
You can conclude that a divide error occurs when the CPU attempts to divide
a. a number by 0.
b. 0 by another number.
c. Both of the above.
Location: Exercise Procedure page: se3p23, Question ID: e3p23a
If the CPU fetches an instruction having an op code that is not defined for the 80386, a type 6
exception occurs (invalid op code). What type of exception must this be?
a. trap
b. fault
Location: Exercise Procedure page: se3p23, Question ID: e3p23c
Where can you find the vector for the invalid op code service routine?
a. 00006H
b. 00018H
c. 00024H
Location: Exercise Procedure page: se3p24, Question ID: e3p24a
23. An example of an invalid op code for the 80386 is FF FFH. Write "FF FF CC" to location
0000:7000. The CC (breakpoint) instruction is included to prevent the CPU from running beyond
this program. Jump to 0000:7000 by using the <GO> key. How do you know that an invalid op
code was detected?
a. A breakpoint occurred.
b. The display shows the message
c. Both of the above.

3-128

32 Bit Microprocessor

Unit 5 Interrupt Processing

Location: Exercise Procedure page: se3p27, Question ID: e3p27a


What service routine would be called by the instruction CD 10?
a. debug exception
b. invalid task statement
c. coprocessor error
Location: Exercise Procedure page: se3p28, Question ID: e3p28a
How are the vector addresses determined?
a. The hex type number is multiplied by 4.
b. The programmer assigns them at random.
Location: Exercise Procedure page: se3p28, Question ID: e3p28c
What address contains the vector that points to the service routine for IR4?
a. 00036H
b. 00024H
c. 00090H
Location: Exercise Procedure page: se3p29, Question ID: e3p29a
The instructions shown are individual INTn instructions. After each instruction is executed,
when will the CPU jump to the operand-specified service routine?
a. immediately
b. when an interrupt request signal is received
Location: Exercise Procedure page: se3p29, Question ID: e3p29c
25. Press <GO> and enter "0000 4000". What message appears on the first line of the display?
a. PIC INTERRUPT R0
b. - press any key c. breakpoint address
Location: Exercise Procedure page: se3p29, Question ID: e3p29e
26. Press any key to cancel the message. What can you do to execute the IR1 service routine?
a. activate the PIC's IR1 input.
b. press <STEP>
c. Either of the above.

3-129

32 Bit Microprocessor

Unit 5 Interrupt Processing

Location: Exercise Procedure page: se3p30, Question ID: e3p30a


27. Press <STEP>. Does the display show the interrupt message for IR1?
a. yes
b. no
Location: Exercise Procedure page: se3p30, Question ID: e3p30c
29. Press any key to cancel the message, then press <STEP> to execute the INT 08 interrupt. The
INT 08 instruction causes a jump to the type 08 service routine. What message appears in the
first display line?
a. PIC INTERRUPT 08
b. Invalid OP-Code
c. Double Fault
Location: Exercise Procedure page: se3p31, Question ID: e3p31a
You have demonstrated that the INTn instruction can be used to simulate
a. hardware interrupts.
b. other exceptions.
c. Both of the above.
REVIEW QUESTIONS
Location: Review Questions page: se3r1, Question ID: e3r1
1. What can cause an exception to interrupt the CPU?
a. a software interrupt instruction
b. an internal CPU condition
c. a hardware signal
d. either a or b
Location: Review Questions page: se3r2, Question ID: e3r2
2. Which software interrupt instruction can you use to simulate any other exception or hardware
interrupt?
a. INTO
b. INT3
c. INTn
d. All of the above.

3-130

32 Bit Microprocessor

Unit 5 Interrupt Processing

Location: Review Questions page: se3r3, Question ID: e3r3


3. The invalid op code exception is a fault because
a. the CPU should be interrupted before executing an invalid instruction.
b. the CPU should be interrupted after executing an invalid instruction.
c. all exceptions are faults.
d. it has an even type number (06).
Location: Review Questions page: se3r4, Question ID: e3r4
4. Which preliminary step is not required to prepare for exception processing?
a. programming of the PIC
b. loading interrupt vectors in the vector table
c. loading service routines into RAM
d. All three steps are necessary.
Location: Review Questions page: se3r5, Question ID: e3r5
5. You can use the INT3 (breakpoint) software interrupt to stop a program in order to examine
a. memory.
b. CPU registers.
c. hardware conditions.
d. All of the above.
CMS AVAILABLE
None
FAULTS AVAILABLE
None

3-131

32 Bit Microprocessor

Unit 5 Interrupt Processing

UNIT TEST
Location: Unit Test Question page: sut1, Question ID: ut1
The 80386 CPU recognizes an external maskable interrupt
a. any time the CPU receives an INTR signal.
b. only when a software interrupt instruction is executed.
c. only when the OF flag is set.
d. only when the IF flag is set.
Location: Unit Test Question page: sut2, Question ID: ut2
When a return instruction occurs at the end of a service routine, the CPU executes the next
instruction
a. at the beginning of the service routine.
b. at the beginning of the program.
c. after the point at which the interrupt occurred.
d. at the top of the stack.
Location: Unit Test Question page: sut3, Question ID: ut3
What type of interrupts are handled by the PIC?
a. exceptions
b. external maskable
c. external non-maskable
d. both b and c
Location: Unit Test Question page: sut4, Question ID: ut4
What information is transferred on the data bus between the CPU and the PIC for processing
maskable interrupts?
a. PIC programming information
b. vector type numbers
c. Both of the above.
d. None of the above.
Location: Unit Test Question page: sut5, Question ID: ut5
How can you generate a non-maskable interrupt to the CPU?
a. Activate the NMI# input.
b. Press the PB HALT switch.
c. Insert an INT 02 instruction into a program.
d. All of the above.

3-132

32 Bit Microprocessor

Unit 5 Interrupt Processing

Location: Unit Test Question page: sut6, Question ID: ut6


When an interrupt occurs, the CPU saves its place in the main program by
a. pushing the CS, IP, and FLG register contents to the stack.
b. popping the CS, IP, and FLG register contents from the stack.
c. jumping to an interrupt service routine.
d. saving status information in a register.
Location: Unit Test Question page: sut7, Question ID: ut7
If a valid NMI pulse occurs while the CPU is already executing an NMI service routine, the
a. pulse is ignored.
b. pulse is saved until the ISR is complete.
c. service routine is interrupted and begins again.
d. service routine is interrupted and the CPU returns to the main program.
Location: Unit Test Question page: sut8, Question ID: ut8
Which 8-bit operation would result in an overflow exception?
a. dividing 7FH by 00H
b. dividing 00H by 7FH
c. adding 7FH to 00H
d. adding 7FH to 7FH
Location: Unit Test Question page: sut9, Question ID: ut9
What type of service routine will be generated if an INTn instruction with the op code CD 0C is
executed?
a. segment not present
b. stack fault
c. general protection
d. page fault
Location: Unit Test Question page: sut10, Question ID: ut10
At what address is the vector for the coprocessor segment overrun service routine located?
a. 00009H
b. 00018H
c. 00024H
d. 00036H

3-133

32 Bit Microprocessor

Unit 5 Interrupt Processing

3-134

32 Bit Microprocessor

Unit 6 Programming: Addressing Modes

UNIT 6 PROGRAMMING: ADDRESSING MODES

UNIT OBJECTIVE
Describe and execute the eleven addressing modes of the 80386 CPU by using the 32-BIT
MICROPROCESSOR circuit board.
UNIT FUNDAMENTALS
Location: Unit Fundamentals page: sf3, Question ID: f3a
In the real mode, what is the maximum physical address size of external memory of the 80386
CPU?
a. 32 Kbytes (215)
b. 4 Gbytes (232)
c. 1 Mbyte (220)
Location: Unit Fundamentals page: sf7, Question ID: f7a
In the real mode, what is the size of a data segement?
a. 64 Kbytes (216)
b. 4 Gbytes (232 bytes)
Location: Unit Fundamentals page: sf9, Question ID: f9a
What is the function of registers within the 80386 CPU?
a. Registers provide very fast access to data in RAM.
b. Registers store data within the CPU and control the behavior of the processor.
c. Registers perform fast arithmetic calculations.
CMS AVAILABLE
None
FAULTS AVAILABLE
None

3-135

32 Bit Microprocessor

Unit 6 Programming: Addressing Modes

NEW TERMS AND WORDS


addressing modes - ways to write instruction, codes to locate an operand which may be in the
instruction in a general-purpose register or in memory.
physical address - an address that uniquely identifies a location in memory.
image addresses - different addresses that refer to the same memory location due to partial
address decoding.
paging - a memory management method that is used in the protected mode to provide access to
data structures and programs larger than the available memory space.
segmentation - a memory management method that allows memory to be divided into
independent secure address spaces.
segment - an independent secure address space.
operand - the data or address that is operated on by the op code.
op code - the part of the instruction that contains the code for the microprocessor operation to be
performed on the operand.
base address - the first location in a segment.
segment selector values - the 16-bit values that are in the visible part of the segment register.
hidden descriptor - the hidden part of a segment register that contains the segment's base
address, limit, and access information
limit - defines the size of a segment.
access information - information contained in the segment register's hidden descriptor; it
controls what programs can access data in a segment.
descriptor table - a table in memory that contains information for the hidden part
of a segment register.
linear address - an address equal to the segment's base address plus the offset, which determines
the physical address when paging is activated.
logical address - a representation of the physical address, written in the form of segment selector
value: offset value; The segment selector value is 2 bytes, and the offset value may be 2 or 4
bytes.
effective address (EA) - an offset (calculated from the sum of displacement, base, and index
values) that locates a memory operand within a selected segment.
EQUIPMENT REQUIRED
F.A.C.E.T. base unit
32-BIT MICROPROCESSOR circuit board

3-136

32 Bit Microprocessor

Unit 6 Programming: Addressing Modes

Exercise 1 Immediate and Register Addressing Modes


EXERCISE OBJECTIVE
Explain the functions of the registers within the 80386 CPU. Use the immediate and register
addressing modes to transfer an operand to a register. Verify results by reading the contents of
the register before and after execution of a move (MOV) instruction.
EXERCISE DISCUSSION
Location: Exercise Discussion page: se1d3, Question ID: e1d3a
In the real mode, what section of the 32-bit flags register is used?
a. the 32-bit EFLAGS section
b. the first byte of the FLAGS section
c. the 16-bit FLAGS section
Location: Exercise Discussion page: se1d5, Question ID: e1d5a
To determine the physical address of the next instruction in memory, the CPU adds the offset
value in the IP register to the base address of what segment register?
a. DS register
b. CS register
c. SS register
Location: Exercise Discussion page: se1d7, Question ID: e1d7a
What is the purpose of the 16-bit selector value in a segment register?
a. It gives the physical address of the next instruction.
b. It selects the active memory segment.
Location: Exercise Discussion page: se1d10, Question ID: e1d10a
In the protected mode, the information in the hidden descriptor of the
segment register is obtained from what location?
a. the IP register
b. a descriptor table in memory
c. the paging system

3-137

32 Bit Microprocessor

Unit 6 Programming: Addressing Modes

Location: Exercise Discussion page: se1d11, Question ID: e1d11a


What is the logical address for the physical address 05000?
a. 4000:1000
b. 1000:0400
c. 0400:1000
Location: Exercise Discussion page: se1d14, Question ID: e1d14a
In the real mode, when must the hex 66 prefix be placed before the instruction?
a. when the instruction uses the 16-bit AX register for data
b. when the instruction uses a 32-bit general purpose register for data
c. when the instruction contains a 16-bit operand
Location: Exercise Discussion page: se1d17, Question ID: e1d17a
Which instruction code uses the immediate operand addressing mode?
a. MOV EAX, EBX
b. MOV AX, 4567H
c. MOV AX, [SI+50H]
EXERCISE PROCEDURE
Location: Exercise Procedure page: se1p6, Question ID: e1p6a
3. Are both of these registers, CS and IP, segment registers?
a. yes
b. no
Location: Exercise Procedure page: se1p7, Question ID: e1p7a
4. What does the IP register contain?
a. the offset for the next instruction code
b. the next instruction code
Location: Exercise Procedure page: se1p7, Question ID: e1p7c
5. What is in the visible part of the CS register?
a. the address of the next instruction
b. the code segment selection value

3-138

32 Bit Microprocessor

Unit 6 Programming: Addressing Modes

Location: Exercise Procedure page: se1p9, Question ID: e1p9a


7. The CS register selector value is 0400. In the real mode, what is the hex value of the 20
significant bits of the 32-bit base address, which is in the hidden portion of the CS register?
a. 40000
b. 04000
c. 00400
Location: Exercise Procedure page: se1p9, Question ID: e1p9c
8. In memory, what is the significance of the CS base address 04000?
a. It is the lowest physical address of the code segment.
b. It is the physical address of the instruction code.
Location: Exercise Procedure page: se1p11, Question ID: e1p11a
10. What relationship does the value in the IP register (1000) have to the CS base address
(04000)?
a. The value in the IP register selects the CS's starting address in memory.
b. The IP register value is the offset for the CS base address.
Location: Exercise Procedure page: se1p11, Question ID: e1p11c
11. With a CS base address of 04000 and an offset value of 1000 in the IP register, what is the
physical address of the instruction code?
a. 05000
b. 04100
c. 41000
Location: Exercise Procedure page: se1p11, Question ID: e1p11e
12. What will be in the physical address of 05000?
a. the first byte of the instruction code
b. the data in the EBX register
Location: Exercise Procedure page: se1p11, Question ID: e1p11g
13. What is an equivalent logical address for a physical address of 05000?
a. 0600:1000
b. 0400:1000
c. 4000:1000

3-139

32 Bit Microprocessor

Unit 6 Programming: Addressing Modes

Location: Exercise Procedure page: se1p13, Question ID: e1p13a


What is the hexadecimal data in physical address 05002?
a. BB
b. 38
c. 25
Location: Exercise Procedure page: se1p14, Question ID: e1p14a
Does the BX register contain the operand 2538?
a. yes
b. no
Location: Exercise Procedure page: se1p15, Question ID: e1p15a
19. What data should be in the BX general purpose register?
a. 2538
b. BB38
Location: Exercise Procedure page: se1p16, Question ID: e1p16a
21. Did the instruction BB 38 25 (MOV BX,2538H) put operand 2538 in the BX register?
a. yes
b. no
Location: Exercise Procedure page: se1p17, Question ID: e1p17a
What type of operand addressing mode did the instruction use?
a. immediate
b. register
Location: Exercise Procedure page: se1p17, Question ID: e1p17c
23. What did you accomplish by executing the MOV BX,2538H instruction?
a. The operand 2538 was moved from the AX register into the BX register.
b. The operand 2538 was specified in the instruction code and moved into the BX register.
Location: Exercise Procedure page: se1p18, Question ID: e1p18a
Did the selector value in the CS register change after the instruction was executed?
a. yes
b. no

3-140

32 Bit Microprocessor

Unit 6 Programming: Addressing Modes

Location: Exercise Procedure page: se1p18, Question ID: e1p18c


25. Did the value in the IP register change after execution of the instruction?
a. yes
b. no
Location: Exercise Procedure page: se1p24, Question ID: e1p24a
30. With a CS register selector value of 0400 and an offset value of 1003 in the IP register, what
is the physical address of the instruction code?
a. 05003
b. 14030
Location: Exercise Procedure page: se1p25, Question ID: e1p25a
33. Does the EAX register contain 00000000?
a. yes
b. no
Location: Exercise Procedure page: se1p28, Question ID: e1p28a
38. What data should be in the EAX general purpose register?
a. 34CDAB12
b. 12ABCD34
c. 6689D8
Location: Exercise Procedure page: se1p29, Question ID: e1p29a
39. To read the data in the EAX register, press <REG> and then <(A-B)>. Is the data in the
EAX register 12ABCD34?
a. yes
b. no
Location: Exercise Procedure page: se1p29, Question ID: e1p29c
40. Did the 12ABCD34 data remain in the EBX register?
a. yes
b. no
Location: Exercise Procedure page: se1p30, Question ID: e1p30a
The instruction used what type of operand addressing mode?
a. immediate
b. register

3-141

32 Bit Microprocessor

Unit 6 Programming: Addressing Modes

Location: Exercise Procedure page: se1p30, Question ID: e1p30c


42. What did you accomplish by executing the MOV EAX,EBX instruction?
a. The operand was moved from the EBX register into the EAX register.
b. The operand was in a RAM location and moved into the EAX register.
Location: Exercise Procedure page: se1p31, Question ID: e1p31a
Did the selector value in the CS register change after the instruction was executed?
a. yes
b. no
Location: Exercise Procedure page: se1p31, Question ID: e1p31c
44. Did the value of the IP register change to 1006 after the execution of the instruction?
a. yes
b. no
REVIEW QUESTIONS
Location: Review Questions page: se1r1, Question ID: e1r1
1. Where is the location of the instruction pointer, segment, general purpose, and flags registers?
a. These registers are in RAM.
b. The location of these registers depends on the application program.
c. These registers are within the 80386 CPU.
d. The instruction pointer, general purpose, and flags registers are within the 80386 CPU, and the
segment register is in RAM.
Location: Review Questions page: se1r2, Question ID: e1r2
2. In the real mode, what does the physical address of the next instruction code equal?
a. the IP register's offset plus the CS register's selector value
b. the FLAGS register's offset status value plus the value in the AX register
c. the AX register's value plus the CS register's selector value shifted 4 bits to the left
d. the IP register's offset value plus the CS register's selector value shifted 4 bits to the left
Location: Review Questions page: se1r3, Question ID: e1r3
3. What is a memory segment?
a. the contents of one of the segment registers
b. a region in memory that holds a specific type of data
c. the data stored in the general purpose registers
d. the location in memory for the next instruction

3-142

32 Bit Microprocessor

Unit 6 Programming: Addressing Modes

Location: Review Questions page: se1r4, Question ID: e1r4


4. In the instruction MOV CX,ABE5H, what addressing mode is used, and after execution, what
will the CS register contain? (Click on Help.)
a. the register addressing mode; 217B
b. the immediate addressing mode; B9E5
c. the register addressing mode; 6BAF
d. the immediate addressing mode; ABE5
Location: Review Questions page: se1r5, Question ID: e1r5
5. The ECX register contains 21AC68D9. In the instruction MOV EAX, ECX, what addressing
mode is used, and after execution, what data will the EAX register contain? (Click on Help.)
a. the register addressing mode; 21AC68D9
b. the immediate addressing mode; 6689C85B
c. the register addressing mode; 1424A6B7
d. the immediate addressing mode; 300589C8
CMS AVAILABLE
None
FAULTS AVAILABLE
None

3-143

32 Bit Microprocessor

Unit 6 Programming: Addressing Modes

Exercise 2 Memory Addressing Modes - I


EXERCISE OBJECTIVE
Describe the ways to determine the effective address of a memory operand by using
displacement, base and index values and explain the six memory operand addressing modes that
can be used for 16-bit and 32-bit addressing. Verify results by reading the contents of a register
before and after execution of a move (MOV) instruction.
EXERCISE DISCUSSION
Location: Exercise Discussion page: se2d5, Question ID: e2d5a
If the selector value in the DS register is 0300 and the EA is 65AB, what is the physical address
of the memory operand in the data segment?
a. 365AB
b. 67AB0
c. 095AB
Location: Exercise Discussion page: se2d7, Question ID: e2d7a
In 16-bit addressing, the index value may be in what registers?
a. any 32-bit GP register except ESP
b. BX or BP registers
c. SI or DI registers
d. any 16-bit GP register
Location: Exercise Discussion page: se2d11, Question ID: e2d11a
When the EBX register contains the base value, what alternate segments may be used to contain
data?
a. None
b. CS, SS, ES, FS, or GS
c. CS, DS, ES, FS, or GS
Location: Exercise Discussion page: se2d14, Question ID: e2d14a
Which memory addressing mode instruction code addresses a 32-bit operand?
a. A1 70 30
b. 66 8B 40 10

3-144

32 Bit Microprocessor

Unit 6 Programming: Addressing Modes

EXERCISE PROCEDURE
Location: Exercise Procedure page: se2p6, Question ID: e2p6a
2. Read the AX register. Does it contain the memory operand 83C5?
a. yes
b. no
Location: Exercise Procedure page: se2p7, Question ID: e2p7a
4. What is the displacement value used to calculate the EA?
a. 83C5
b. 3070
Location: Exercise Procedure page: se2p7, Question ID: e2p7c
5. What is the EA?
a. 3070
b. 0100
Location: Exercise Procedure page: se2p8, Question ID: e2p8a
6. What is the logical address of the memory operand?
a. 0200:1000
b. 0100:3070
Location: Exercise Procedure page: se2p9, Question ID: e2p9a
9. Read the AX register. Was the memory operand 83C5 moved into the AX register?
a. yes
b. no
Location: Exercise Procedure page: se2p9, Question ID: e2p9c
10. The instruction used what type of memory operand addressing mode?
a. direct
b. based
c. register indirect
Location: Exercise Procedure page: se2p15, Question ID: e2p15a
12. Read the AX register, does it contain the memory operand A3DC?
a. yes
b. no

3-145

32 Bit Microprocessor

Unit 6 Programming: Addressing Modes

Location: Exercise Procedure page: se2p16, Question ID: e2p16a


14. What is the base value used to calculate the EA?
a. A3DC
b. 4578
Location: Exercise Procedure page: se2p16, Question ID: e2p16c
15. What is the EA?
a. 4578
b. 1000
Location: Exercise Procedure page: se2p17, Question ID: e2p17a
16. What is the logical address of the memory operand?
a. 0200:0050
b. 0100:4578
Location: Exercise Procedure page: se2p18, Question ID: e2p18a
19. Read the AX register. Was the memory operand A3DC moved into the AX register?
a. yes
b. no
Location: Exercise Procedure page: se2p18, Question ID: e2p18c
20. The instruction used what type of memory operand addressing mode?
a. index
b. based
c. register indirect
Location: Exercise Procedure page: se2p26, Question ID: e2p26a
22. Read the CX register. Does it contain the memory operand AB12?
a. yes
b. no
Location: Exercise Procedure page: se2p27, Question ID: e2p27a
24. What is the displacement value used to calculate the EA?
a. 00002123
b. 00003000

3-146

32 Bit Microprocessor

Unit 6 Programming: Addressing Modes

Location: Exercise Procedure page: se2p27, Question ID: e2p27c


25. What is the base value used to calculate EA?
a. 00000100
b. 00003000
Location: Exercise Procedure page: se2p28, Question ID: e2p28a
26. What is the EA?
a. 00001000
b. 00005123
Location: Exercise Procedure page: se2p28, Question ID: e2p28c
27. What is the logical address of the memory operand?
a. 0100:5123
b. 1000:2000
Location: Exercise Procedure page: se2p29, Question ID: e2p29a
30. Read the CX register. Was the memory operand AB12 moved into the CX register?
a. yes
b. no
Location: Exercise Procedure page: se2p29, Question ID: e2p29c
31. The instruction used what type of memory operand addressing mode?
a. index
b. based
c. register indirect
Location: Exercise Procedure page: se2p36, Question ID: e2p36a
33. Read the EDX register. Does it contain the memory operand 1234ABCD?
a. yes
b. no
Location: Exercise Procedure page: se2p37, Question ID: e2p37a
35. What is the displacement value used to calculate the EA?
a. 0030
b. 0200

3-147

32 Bit Microprocessor

Unit 6 Programming: Addressing Modes

Location: Exercise Procedure page: se2p37, Question ID: e2p37c


35. What is the base value used to calculate EA?
a. 0100
b. 3013
Location: Exercise Procedure page: se2p38, Question ID: e2p38a
37. What is the index value used to calculate EA?
a. 1000
b. 0008
Location: Exercise Procedure page: se2p38, Question ID: e2p38c
38. What is the EA?
a. 3051
b. 304B
Location: Exercise Procedure page: se2p39, Question ID: e2p39a
39. What is the logical address of the operand?
a. 0100:304B
b. 0200:404B
Location: Exercise Procedure page: se2p40, Question ID: e2p40a
42. Read the EDX register. Was the memory operand 1234ABCD moved into the EDX register?
a. yes
b. no
Location: Exercise Procedure page: se2p40, Question ID: e2p40c
43. The instruction used what type of memory operand addressing mode?
a. based scaled index
b. based index
c. based index with displacement
Location: Exercise Procedure page: se2p46, Question ID: e2p46a
47. What is the sign-extended 16-bit displacement value of B0?
a. 00B0
b. FFB0

3-148

32 Bit Microprocessor

Unit 6 Programming: Addressing Modes

Location: Exercise Procedure page: se2p47, Question ID: e2p47a


50. Read the BX register. Was the memory operand 4321 moved into the BX register?
a. yes
b. no
Location: Exercise Procedure page: se2p47, Question ID: e2p47c
51. The instruction used what type of memory operand addressing mode?
a. index
b. based
c. register indirect
Location: Exercise Procedure page: se2p51, Question ID: e2p51a
55. What is the EA?
a. 301B
b. 3021
Location: Exercise Procedure page: se2p52, Question ID: e2p52a
58. Read the DX register. Was the memory operand 89AF moved into the DX register?
a. yes
b. no
Location: Exercise Procedure page: se2p52, Question ID: e2p52c
59. The instruction used what type of memory operand addressing mode?
a. index
b. based index with displacement
c. based index

3-149

32 Bit Microprocessor

Unit 6 Programming: Addressing Modes

REVIEW QUESTIONS
Location: Review Questions page: se2r1, Question ID: e2r1
1. For 16-bit and 32-bit addressing, what value(s) can you use to compose an effective address
(EA)?
a. code and data segment selector values
b. instruction pointer and code segment selector values
c. segment selector and offset values
d. displacement, base, and index values
Location: Review Questions page: se2r2, Question ID: e2r2
2. For 32-bit addressing, the base value is in what register(s)?
a. BX or BP
b. any 32-bit general purpose register except ESP
c. any 32-bit general purpose register
d. SI or DI
Location: Review Questions page: se2r3, Question ID: e2r3
3. When the base value is in the BP register, what is the default segment for data?
a. SS
b. DS
c. CS
d. FS
Location: Review Questions page: se2r4, Question ID: e2r4
4. The instruction MOV AX, DS:3070H uses what type of addressing mode?
a. register indirect
b. direct
c. based
d. index
Location: Review Questions page: se2r5, Question ID: e2r5
5. The instruction MOV EDX, [DI+BX+0030H] uses what type of addressing mode?
a. based index
b. register indirect
c. based index with displacement
d. index

3-150

32 Bit Microprocessor

Unit 6 Programming: Addressing Modes

CMS AVAILABLE
None
FAULTS AVAILABLE
None

3-151

32 Bit Microprocessor

Unit 6 Programming: Addressing Modes

Exercise 3 Memory Addressing Modes - II


EXERCISE OBJECTIVE
Determine the effective address of a memory operand by using displacement, base, and scaled
index values, and explain the three 32-bit memory operand addressing modes that use a scaled
index. Verify results by reading the contents of a register before and after execution of a move
(MOV) instruction.
EXERCISE DISCUSSION
No Questions
EXERCISE PROCEDURE
Location: Exercise Procedure page: se3p9, Question ID: e3p9a
4. What is the index * scale value ?
a. 00000002
b. 00004000
Location: Exercise Procedure page: se3p9, Question ID: e3p9c
5. What is the EA?
a. 00002002
b. 00003022
Location: Exercise Procedure page: se3p10, Question ID: e3p10a
7. Read the AX register. Was the memory operand ABCD moved into the AX register?
a. yes
b. no
Location: Exercise Procedure page: se3p10, Question ID: e3p10c
8. The instruction used what type of memory operand addressing mode?
a. scaled index
b. based index with displacement
c. based scaled index with displacement

3-152

32 Bit Microprocessor

Unit 6 Programming: Addressing Modes

Location: Exercise Procedure page: se3p17, Question ID: e3p17a


12. What is the index * scale value?
a. 0000000E
b. 0000502E
Location: Exercise Procedure page: se3p17, Question ID: e3p17c
13. What is the EA?
a. 00002002
b. 0000102E
Location: Exercise Procedure page: se3p18, Question ID: e3p18a
16. Read the AX register. Was the memory operand 6789 movedinto the AX register?
a. yes
b. no
Location: Exercise Procedure page: se3p18, Question ID: e3p18c
17. The instruction used what type of memory operand addressing mode?
a. scaled index
b. based index with displacement
c. based scaled index with displacement
Location: Exercise Procedure page: se3p25, Question ID: e3p25a
21. What is the index * scale value ?
a. 00000006
b. 00004000
Location: Exercise Procedure page: se3p25, Question ID: e3p25c
22. What is the EA?
a. 00005006
b. 00004006
Location: Exercise Procedure page: se3p26, Question ID: e3p26a
25. Read the AX register. Was the memory operand 3456 moved to the AX register?
a. yes
b. no

3-153

32 Bit Microprocessor

Unit 6 Programming: Addressing Modes

Location: Exercise Procedure page: se3p26, Question ID: e3p26c


26. The instruction used what type of memory operand addressing mode?
a. scaled index
b. based scaled index
c. based scaled index with displacement
REVIEW QUESTIONS
Location: Review Questions page: se3r1, Question ID: e3r1
1. What addressing mode can be used only for 32-bit addressing?
a. based index with displacement
b. based index
c. based scaled index
d. register indirect
Location: Review Questions page: se3r2, Question ID: e3r2
2. For 32-bit addressing using a scaled index, what values can the scale factor have ?
a. 4, 8, or 16
b. 0, 1, 3, or 4
c. 1, 2, 4, or 8
d. 0, 8, or 32
Location: Review Questions page: se3r3, Question ID: e3r3
3. In the real mode, what instruction code hexadecimal prefix must you use when applying a
scaled index in the EA calculation?
a. 66 - operand size prefix
b. 67 - address size prefix
c. 2E - CS alternate segment prefix
d. 36 - SS alternate segment prefix
Location: Review Questions page: se3r4, Question ID: e3r4
4. The instruction MOV AX, [ ESI * 2 + 00001020H ] uses what type of addressing mode ?
(Click on Help to view the instruction code diagram.)
a. based index
b. scaled index
c. based scaled index
d. based index with displacement

3-154

32 Bit Microprocessor

Unit 6 Programming: Addressing Modes

Location: Review Questions page: se3r5, Question ID: e3r5


5. The instruction MOV AX, [ ESI * 2 + EBX + 00001020H ] uses what type of addressing
mode ? (Click on Help to view the instruction code diagram.)
a. based index with displacement
b. scaled index
c. based scaled index
d. based scaled index with displacement
CMS AVAILABLE
None
FAULTS AVAILABLE
None

3-155

32 Bit Microprocessor

Unit 6 Programming: Addressing Modes

UNIT TEST
Location: Unit Test Question page: sut1, Question ID: ut1
What determines the physical address of the next instruction for the 80386 CPU?
a. the data segment's base address and the EA
b. the code segment's base address and the offset in the IP register
c. the addressing mode specified in the instruction code
d. the data in the EFLAGS register
Location: Unit Test Question page: sut2, Question ID: ut2
What is the function of the six segment registers?
a. They contain data that specifies the six active segments in memory.
b. They contain the next six instruction codes.
c. They contain the results of arithmetic and logical operations.
d. The segment registers control operations and indicate the status of the 80386 CPU.
Location: Unit Test Question page: sut3, Question ID: ut3
Where can an operand be located?
a. in an instruction
b. in memory
c. in a general purpose register
d. All of the above.
Location: Unit Test Question page: sut4, Question ID: ut4
What is the purpose of the 80386 CPU addressing modes?
a. They specify the op code field of the instruction.
b. They determine the address size of the segments.
c. They specify the destination of the operand.
d. They locate an operand.
Location: Unit Test Question page: sut5, Question ID: ut5
When the 80386 CPU operates in the real mode, what must the address size be?
a. 8 bits or 16 bits
b. 16 bits
c. 32 bits
d. 16 bits or 32 bits

3-156

32 Bit Microprocessor

Unit 6 Programming: Addressing Modes

Location: Unit Test Question page: sut6, Question ID: ut6


The instruction code MOV BX,CX uses what type of addressing mode?
a. direct
b. register operand
c. based
d. index
Location: Unit Test Question page: sut7, Question ID: ut7
Which instruction code uses the based addressing mode?
a. MOV BX, [ SI + B0H ]
b. MOV AX, [ BP + 2000H ]
c. MOV AX, [ ESI * 2 + 00001020H ]
d. MOV EBX, BC47AA52
Location: Unit Test Question page: sut8, Question ID: ut8
The instruction code MOV EDX, [ DI + BX + 1030H ] uses what type of addressing mode?
a. based
b. index
c. based index
d. based index with displacement
Location: Unit Test Question page: sut9, Question ID: ut9
When an addressing mode uses a scale factor, how many bits must be in the address?
a. 8
b. 16
c. 32
d. Any of the above.
Location: Unit Test Question page: sut10, Question ID: ut10
Which instruction code uses the based scaled index addressing mode?
a. MOV EBX, [ EDI + 4FA33B0H ]
b. MOV AX, [ ESI * 2 + EBX ]
c. MOV AX, [ ESI * 2 + 00001020H ]
d. MOV CX, [ BX + 2000H ]

3-157

32 Bit Microprocessor

Unit 6 Programming: Addressing Modes

3-158

32 Bit Microprocessor

Unit 7 Programming: 80386 CPU Instructions

UNIT 7 PROGRAMMING: 80386 CPU INSTRUCTIONS

UNIT OBJECTIVE
Write instructions for the 80386 CPU with machine codes and use the instructions in memory
test programs that runs by using the 32-BIT MICROPROCESSOR circuit board.
UNIT FUNDAMENTALS
Location: Unit Fundamentals page: sf7, Question ID: f7a
During one bus cycle, the 80386 CPU can fetch how many bytes of an instruction code?
a. 8 bytes
b. 4 bytes
c. 2 bytes
Location: Unit Fundamentals page: sf8, Question ID: f8a
At what address does the above memory test program use a register indirect memory addressing
mode MOV instruction?
a. 04000
b. 04002
c. 04004
d. 0400B
CMS AVAILABLE
None
FAULTS AVAILABLE
None
NEW TERMS AND WORDS
machine language - a language that can be used directly by a microprocessor; a binary
language; also called object code.
EQUIPMENT REQUIRED
F.A.C.E.T. base unit
32-BIT MICROPROCESSOR circuit board

3-159

32 Bit Microprocessor

Unit 7 Programming: 80386 CPU Instructions

Exercise 1 Instruction Formats - I


EXERCISE OBJECTIVE
Encode, into machine language, multibyte move (MOV) instructions for the * immediate
addressing mode * and register addressing modes. Verify results by executing the instructions
that you encode and by reading the contents of registers and memory locations.
EXERCISE DISCUSSION
Location: Exercise Discussion page: se1d3, Question ID: e1d3a
What segment override prefix must you use to specify the ES segment as the alternate segment in
place of the default segment?
a. 2E
b. 26
c. 64
Location: Exercise Discussion page: se1d6, Question ID: e1d6a
When the d bit equals 1, is the register specified by the reg field the source or the destination?
a. source
b. destination
Location: Exercise Discussion page: se1d7, Question ID: e1d7a
Does the operand remain in the source location after the MOV instruction is executed?
a. yes
b. no
Location: Exercise Discussion page: se1d9, Question ID: e1d9a
What mod code would you use for the based index memory addressing mode, which calculates
the effective address by adding the base and index values?
a. 00
b. 01
c. 10
d. 11

3-160

32 Bit Microprocessor

Unit 7 Programming: 80386 CPU Instructions

Location: Exercise Discussion page: se1d10, Question ID: e1d10a


If the data operation is 32 bits and w equals 1, what reg field code specifies the EBX register?
a. 001
b. 011
c. 110
Location: Exercise Discussion page: se1d10, Question ID: e1d10c
If the data operation is 16 bits and w equals 0, what reg field code specifies the AL
register?
a. 111
b. 100
c. 000
Location: Exercise Discussion page: se1d11, Question ID: e1d11a
If d equals 1, w equals 0, and reg equals 011, is the BL register the source or the destination of
the operand?
a. source
b. destination
Location: Exercise Discussion page: se1d13, Question ID: e1d13a
What r/m field code specifies the DX register when mod equals 11, w equals 1, and the data
operation is 16 bits?
a. 010
b. 011
c. 001

3-161

32 Bit Microprocessor

Unit 7 Programming: 80386 CPU Instructions

EXERCISE PROCEDURE
Location: Exercise Procedure page: se1p4, Question ID: e1p4a
For the instruction MOV CX,12ABH, what format is used?
a. IMMED TO MEM
b. IMMED TO REG
c. MEM TO ACCUM
Location: Exercise Procedure page: se1p5, Question ID: e1p5a
The format for the MOV CX,12ABH instruction is shown. What fields are included in the MOV
CX,12ABH instruction? (Click on <?> to view the general instruction code format fields for the
80386 CPU.)
a. op code and displacement
b. operand size prefix, op code, and mod r/m
c. op code and immediate
d. op code, mod r/m, and immediate
Location: Exercise Procedure page: se1p7, Question ID: e1p7a
1. The hex code for the instruction MOV CX,12ABH will contain how many bytes?
a. 2
b. 3
c. 4
Location: Exercise Procedure page: se1p7, Question ID: e1p7c
2. What is the binary code of the first nibble (4 bits)?
a. 1101
b. 1011
c. cannot be determined
Location: Exercise Procedure page: se1p7, Question ID: e1p7e
3. What is the hex code for the first nibble (4 bits)?
a. 8
b. C
c. B

3-162

32 Bit Microprocessor

Unit 7 Programming: 80386 CPU Instructions

Location: Exercise Procedure page: se1p8, Question ID: e1p8a


4. From the table shown, what is the w bit?
a. 0
b. 1
Location: Exercise Procedure page: se1p9, Question ID: e1p9a
5. From the table shown, what are the reg bits?
a. 001
b. 000
c. 011
Location: Exercise Procedure page: se1p10, Question ID: e1p10a
6. What is the hex code for the second nibble?
a. 1
b. A
c. 9
Location: Exercise Procedure page: se1p11, Question ID: e1p11a
7. What is the immediate operand of the instruction MOV CX,12ABH?
a. MOV
b. 12AB
c. CX12
Location: Exercise Procedure page: se1p11, Question ID: e1p11c
8. For the immediate operand 12AB, what hex codes follow the first byte, B9?
a. 12 AB
b. BA 21
c. AB 12
Location: Exercise Procedure page: se1p11, Question ID: e1p11e
9. What is the hex code for the mnemonic MOV CX,12ABH?
a. B9 AB 12
b. 12 AB B9
c. B9 12 AB

3-163

32 Bit Microprocessor

Unit 7 Programming: 80386 CPU Instructions

Location: Exercise Procedure page: se1p13, Question ID: e1p13a


Read the CX register. Was the operand 12AB moved to the CX register?
a. yes
b. no
Location: Exercise Procedure page: se1p16, Question ID: e1p16a
12. For the instruction MOV EBX,EDX, what format is used?
a. REG TO SEG REG
b. ACCUM TO MEM
c. REG TO REG
Location: Exercise Procedure page: se1p17, Question ID: e1p17a
13. In the real mode, does the code for the instruction MOV EBX,EDX require a prefix?
a. yes
b. no
Location: Exercise Procedure page: se1p17, Question ID: e1p17c
14. In the real mode, what type of prefix is required for the instruction MOV EBX,EDX?
a. instruction prefix
b. address size prefix
c. operand size prefix
Location: Exercise Procedure page: se1p17, Question ID: e1p17e
15. What is the operand size hex prefix?
a. 65
b. 66
c. 67
Location: Exercise Procedure page: se1p18, Question ID: e1p18a
The hex code for the instruction MOV EBX,EDX will contain how many bytes?
a. 2
b. 3
c. 4

3-164

32 Bit Microprocessor

Unit 7 Programming: 80386 CPU Instructions

Location: Exercise Procedure page: se1p18, Question ID: e1p18c


17. What are bits 7 to 2?
a. 100010
b. 010011
c. cannot be determined
Location: Exercise Procedure page: se1p19, Question ID: e1p19a
18. What is the hex code for the first nibble (4 bits) of the second byte?
a. C
b. 8
c. B
Location: Exercise Procedure page: se1p20, Question ID: e1p20a
19. What is the d bit?
a. 0
b. 1
c. 0 or 1
Location: Exercise Procedure page: se1p20, Question ID: e1p20c
21. From the table shown, what is the w bit?
a. 0
b. 1
Location: Exercise Procedure page: se1p20, Question ID: e1p20e
22. What is the hex code for the second nibble of the second byte?
a. D
b. B
c. 9
Location: Exercise Procedure page: se1p21, Question ID: e1p21a
23. From the table shown, what are the mod bits?
a. 00
b. 10
c. 11

3-165

32 Bit Microprocessor

Unit 7 Programming: 80386 CPU Instructions

Location: Exercise Procedure page: se1p22, Question ID: e1p22a


24. From the table shown, what are the reg bits?
a. 100
b. 010
c. 011
Location: Exercise Procedure page: se1p23, Question ID: e1p23a
25. What is the hex code for the first nibble of the third byte?
a. D
b. E
c. B
Location: Exercise Procedure page: se1p24, Question ID: e1p24a
26. From the table shown, what are the r/m bits?
a. 001
b. 010
c. 011
Location: Exercise Procedure page: se1p25, Question ID: e1p25a
27. What is the hex code for the second nibble of the third byte?
a. 2
b. A
c. C
Location: Exercise Procedure page: se1p25, Question ID: e1p25c
28. What is the instruction code for the mnemonic MOV EBX,EDX?
a. DA 8B 66
b. 66 8B DA
c. 8B DA
Location: Exercise Procedure page: se1p27, Question ID: e1p27a
30. The execution of the instruction code for MOV EBX,EDX should have moved (copied) the
32-bit operand BBBBAAAA from the EDX register to the EBX register. Read the EBX register.
Was the operand BBBBAAAA moved to the EBX register?
a. yes
b. no

3-166

32 Bit Microprocessor

Unit 7 Programming: 80386 CPU Instructions

Location: Exercise Procedure page: se1p28, Question ID: e1p28a


31. If the instruction is changed to MOV EAX,EDX, making the EAX register the destination,
what are the reg bits?
a. 001
b. 000
c. 101
Location: Exercise Procedure page: se1p29, Question ID: e1p29a
32. What is the new hex code for the third byte?
a. C2
b. B1
c. C4
Location: Exercise Procedure page: se1p31, Question ID: e1p31a
34. The execution of the revised instruction code 66 8B C2 should have moved (copied) the 32bit operand BBBBAAAA from the EDX register to the EAX register. Read the EAX register.
Was the operand BBBBAAAA moved to the EAX register?
a. yes
b. no
REVIEW QUESTIONS
Location: Review Questions page: se1r1, Question ID: e1r1
1. In the real mode, does the code for the above instruction require a hexadecimal prefix(s), and
if so, which of the following?
a. A hexadecimal prefix is not required.
b. 66
c. 67
d. 67 66
Location: Review Questions page: se1r2, Question ID: e1r2
2. What does d bit equal to 0 mean?
a. The operand size is 8 bits.
b. The instruction code uses a register addressing mode.
c. The reg field specifies the source register.
d. The reg field specifies the destination register.

3-167

32 Bit Microprocessor

Unit 7 Programming: 80386 CPU Instructions

Location: Review Questions page: se1r3, Question ID: e1r3


3. What are the mod bits for the above instruction?
a. 00
b. 01
c. 10
d. 11
Location: Review Questions page: se1r4, Question ID: e1r4
4. If the d and w bits equal 1 and the mod bits equal 11 (the register mode), what do the 3 bits in
the r/m field specify?
a. the effective address calculation
b. the second general-purpose register
c. a 16-bit operand
d. the destination register
Location: Review Questions page: se1r5, Question ID: e1r5
5. For the above instruction, what is the hexadecimal code for the displacement?
a. ED EB 00 00 15 00
b. 00 00 15 00
c. 00 15 00 00 EB ED
d. 00 15 00 00
CMS AVAILABLE
None
FAULTS AVAILABLE
None

3-168

32 Bit Microprocessor

Unit 7 Programming: 80386 CPU Instructions

Exercise 2 Instruction Formats - II


EXERCISE OBJECTIVE
Encode, into machine language, multibyte instructions used for the move (MOV) instruction
with the memory addressing modes, and understand how to format other 80386 CPU instruction
codes. Verify results by executing the encoded instructions and by reading the contents of
registers and memory locations.
EXERCISE DISCUSSION
Location: Exercise Discussion page: se2d4, Question ID: e2d4a
For the instruction MOV DX,[BX + DI + 0040H], what is the r/m field code?
a. 000
b. 001
c. 011
Location: Exercise Discussion page: se2d7, Question ID: e2d7a
For the instruction MOV EDX,[EBX + EDI*2], what is the r/m field code?
a. 100
b. 001
c. 111
Location: Exercise Discussion page: se2d9, Question ID: e2d9a
What are the ss bits for a scale factor of 2?
a. 00
b. 01
c. 10
d. 11

3-169

32 Bit Microprocessor

Unit 7 Programming: 80386 CPU Instructions

Location: Exercise Discussion page: se2d10, Question ID: e2d10a


What are the index bits for the EBX register?
a. 001
b. 101
c. 011
Location: Exercise Discussion page: se2d13, Question ID: e2d13a
For the instruction MOV EDX,[EBX + EDI*2], what is the base field code?
a. 100
b. 010
c. 011
EXERCISE PROCEDURE
Location: Exercise Procedure page: se2p4, Question ID: e2p4a
1. For the instruction MOV CX,[BX + SI + 0060H], what format is used?
a. MEM TO REG
b. ACCUM TO MEM
c. REG TO REG
Location: Exercise Procedure page: se2p5, Question ID: e2p5a
2. When the 80386 CPU operates in the real mode, does the code for instruction MOV CX,[BX
+ SI + 0060H] require a prefix?
a. yes
b. no
Location: Exercise Procedure page: se2p6, Question ID: e2p6a
The hex code for the instruction MOV CX,[BX + SI + 0060H] will contain how many bytes?
a. 2
b. 3
c. 4
Location: Exercise Procedure page: se2p6, Question ID: e2p6c
4. What are bits 7 to 2?
a. 100010
b. 010011
c. cannot be determined

3-170

32 Bit Microprocessor

Unit 7 Programming: 80386 CPU Instructions

Location: Exercise Procedure page: se2p6, Question ID: e2p6e


5. What is the hex code for the first nibble (4 bits)?
a. C
b. 8
c. B
Location: Exercise Procedure page: se2p7, Question ID: e2p7a
6. What is the d bit?
a. 0
b. 1
c. 0 or 1
Location: Exercise Procedure page: se2p8, Question ID: e2p8a
7. From the table shown, what is the w bit?
a. 0
b. 1
Location: Exercise Procedure page: se2p9, Question ID: e2p9a
8. What is the hex code for the second nibble?
a. D
b. B
c. 9
Location: Exercise Procedure page: se2p10, Question ID: e2p10a
9. From the table shown, what are the mod bits?
a. 00
b. 10
c. 11
Location: Exercise Procedure page: se2p11, Question ID: e2p11a
10. From the table shown, what are the reg bits?
a. 001
b. 010
c. 011

3-171

32 Bit Microprocessor

Unit 7 Programming: 80386 CPU Instructions

Location: Exercise Procedure page: se2p12, Question ID: e2p12a


11. What is the hex code for the first nibble of the second byte?
a. A
b. 8
c. 9
Location: Exercise Procedure page: se2p13, Question ID: e2p13a
12. From the table shown, what are the r/m bits?
a. 001
b. 011
c. 000
Location: Exercise Procedure page: se2p14, Question ID: e2p14a
13. What is the hex code for the second nibble of the second byte?
a. 9
b. A
c. 8
Location: Exercise Procedure page: se2p14, Question ID: e2p14c
14. What is the hex displacement value in the instruction MOV CX, [BX + SI + 0060H]?
a. BX + SI
b. 0060
c. SI + 0060
Location: Exercise Procedure page: se2p15, Question ID: e2p15a
15. For the displacement 0060H, what hex code follows the first two bytes 8B 88?
a. 00 60
b. 06 00
c. 60 00
Location: Exercise Procedure page: se2p15, Question ID: e2p15c
16. What is the instruction code for the mnemonic MOV CX, [BX + SI + 0060H]?
a. 00 60 88 8B
b. 8B 88 60 00

3-172

32 Bit Microprocessor

Unit 7 Programming: 80386 CPU Instructions

Location: Exercise Procedure page: se2p16, Question ID: e2p16a


With a base value of 3000, an index value of 0004, and a displacement of 0060, what is the EA?
a. 3604
b. 3064
Location: Exercise Procedure page: se2p18, Question ID: e2p18a
19. The instruction code for MOV CX,[BX + SI + 0060H] moves the memory operand 7788 to
the CX register. Read the CX register. Was the memory operand 7788 moved to the CX register?
a. yes
b. no
Location: Exercise Procedure page: se2p21, Question ID: e2p21a
20. What format is used for the instruction MOV [ECX + (EDI*2)],BX?
a. REG TO SEG REG
b. ACCUM TO MEM
c. REG TO MEM
Location: Exercise Procedure page: se2p22, Question ID: e2p22a
21. In the real mode, does the code for the instruction MOV [ECX + (EDI*2)],BX require a
prefix?
a. yes
b. no
Location: Exercise Procedure page: se2p22, Question ID: e2p22c
22. What type of prefix is required?
a. instruction prefix
b. address size prefix
c. operand size prefix
Location: Exercise Procedure page: se2p22, Question ID: e2p22e
23. What is the address size hex prefix?
a. 65
b. 66
c. 67

3-173

32 Bit Microprocessor

Unit 7 Programming: 80386 CPU Instructions

Location: Exercise Procedure page: se2p23, Question ID: e2p23a


The hex code for the instruction MOV [ECX + (EDI*2)],BX will contain how many bytes?
a. 2
b. 3
c. 4
Location: Exercise Procedure page: se2p23, Question ID: e2p23c
26. What is the d bit?
a. 0
b. 1
Location: Exercise Procedure page: se2p24, Question ID: e2p24a
27. From the table shown, what is the w bit?
a. 0
b. 1
Location: Exercise Procedure page: se2p25, Question ID: e2p25a
28. What is the hex code for the second nibble of the second byte?
a. D
b. B
c. 9
Location: Exercise Procedure page: se2p26, Question ID: e2p26a
29. From the table shown, what are the mod bits?
a. 00
b. 10
c. 11
Location: Exercise Procedure page: se2p27, Question ID: e2p27a
30. From the table shown, what are the reg bits?
a. 001
b. 010
c. 011

3-174

32 Bit Microprocessor

Unit 7 Programming: 80386 CPU Instructions

Location: Exercise Procedure page: se2p28, Question ID: e2p28a


31. From the table shown, what are the r/m bits?
a. 010
b. 101
c. 100
Location: Exercise Procedure page: se2p29, Question ID: e2p29a
32. What is the hex code for the third byte?
a. 0E
b. 1C
c. 1B
Location: Exercise Procedure page: se2p30, Question ID: e2p30a
33. The scaled index (EDI*2) is given in the mnemonic. What are the ss bits in the s-i-b byte?
a. 00
b. 01
c. 10
Location: Exercise Procedure page: se2p31, Question ID: e2p31a
34. What are the 3 index bits?
a. 111
b. 010
c. 110
Location: Exercise Procedure page: se2p32, Question ID: e2p32a
35. What are the 3 base bits?
a. 111
b. 010
c. 001
Location: Exercise Procedure page: se2p33, Question ID: e2p33a
36. What is the hex code for the fourth byte?
a. C7
b. 79
c. F1

3-175

32 Bit Microprocessor

Unit 7 Programming: 80386 CPU Instructions

Location: Exercise Procedure page: se2p33, Question ID: e2p33c


37. What is the hex instruction code for the mnemonic MOV [ECX + (EDI*2)],BX?
a. 89 1C 79
b. 67 89 1C 79
Location: Exercise Procedure page: se2p34, Question ID: e2p34a
What is the EA?
a. 00003008
b. 00003004
Location: Exercise Procedure page: se2p36, Question ID: e2p36a
40. The instruction code for MOV [ECX + (EDI*2)],BX moves the operand 99CC from the BX
register to address 0100:3008 in memory. Read the data in logical address 0100:3008. Was the
operand 99CC moved to the memory location with the logical address 0100:3008?
a. yes
b. no
REVIEW QUESTIONS
Location: Review Questions page: se2r1, Question ID: e2r1
1. For the above instruction, what are the mod field bits?
a. 00
b. 01
c. 10
d. 11
Location: Review Questions page: se2r2, Question ID: e2r2
2. For the above instruction, what are the reg field bits?
a. 001
b. 000
c. 011
d. 111

3-176

32 Bit Microprocessor

Unit 7 Programming: 80386 CPU Instructions

Location: Review Questions page: se2r3, Question ID: e2r3


3. For the above instruction, what are the r/m field bits?
a. 001
b. 011
c. 100
d. 111
Location: Review Questions page: se2r4, Question ID: e2r4
4. For the above instruction, what are the index field bits?
a. 001
b. 010
c. 011
d. 111
Location: Review Questions page: se2r5, Question ID: e2r5
5. For the above instruction, what are the base field bits?
a. 000
b. 110
c. 010
d. 001
CMS AVAILABLE
None
FAULTS AVAILABLE
None

3-177

32 Bit Microprocessor

Unit 7 Programming: 80386 CPU Instructions

Exercise 3 Using the 80386 CPU Instructions - I


EXERCISE OBJECTIVE
Create a simple loop program to test a memory address by using 80386 CPU instructions. Verify
results by observing the display and/or address and data LEDs.
EXERCISE DISCUSSION
Location: Exercise Discussion page: se3d2, Question ID: e3d2a
Which instruction causes the CPU to read from memory?
a. MOV DS:6050,AX
b. MOV AX,DS:6050
Location: Exercise Discussion page: se3d7, Question ID: e3d7a
What is the 2's complement of hex 0C?
a. FC
b. 04
c. F4
EXERCISE PROCEDURE
Location: Exercise Procedure page: se3p4, Question ID: e3p4a
3. What did the instruction MOV AX,9999H at 02000 do?
a. moved the operand in address 09999 to the AX register
b. moved the operand 9999 specified in the instruction to the AX register
Location: Exercise Procedure page: se3p4, Question ID: e3p4c
4. Read the AX register. What data does it contain?
a. 9999
b. 0000
c. 0099

3-178

32 Bit Microprocessor

Unit 7 Programming: 80386 CPU Instructions

Location: Exercise Procedure page: se3p5, Question ID: e3p5a


5. Press <EXIT>, and then press <STEP> to execute the second instruction at 02003. What did
the instruction MOV DS:6050,AX at address 02003 cause the CPU to do?
a. write the operand 9999 in the AX register to address 06050
b. read the operand at address 06050 and store it in the AX register.
Location: Exercise Procedure page: se3p5, Question ID: e3p5c
6. Read the data in address 06050 (logical address 0000:6050). What 2 bytes of data does address
06050 contain?
a. 6050
b. 9999
Location: Exercise Procedure page: se3p6, Question ID: e3p6a
7. Press <STEP> to execute the third instruction at 02006. What did the instruction MOV
AX,DS:6050 at address 02006 cause the CPU to do?
a. write the operand 9999 in the AX register to address 06050
b. read the operand 9999 at address 06050 and move it to the AX register.
Location: Exercise Procedure page: se3p6, Question ID: e3p6c
8. What address will appear on the display after you press <STEP> to execute the instruction
JMP 2003H (EB F8) at address 02009?
a. 02003
b. 0200B
c. 02006
Location: Exercise Procedure page: se3p6, Question ID: e3p6e
9. Press <STEP> to execute the fourth instruction at 02009. Did the JMP instruction return the
instruction pointer to address 02003?
a. yes
b. no

3-179

32 Bit Microprocessor

Unit 7 Programming: 80386 CPU Instructions

Location: Exercise Procedure page: se3p9, Question ID: e3p9a


11. Set the SINGLE CYCLE switch to ON. Press the STEP switch on the SINGLE CYCLE
circuit block until 02000 appears on the address LEDs. Read only address lines A15 to A0. What
is the logic state of the W/R# line?
a. high
b. low
Location: Exercise Procedure page: se3p9, Question ID: e3p9c
12. What are the four bytes of data appearing on data lines D7 to D0 (byte 0), D15 to D8 (byte
1), D23 to D16 (byte 2), and D31 to D24 (byte 3)?
a. B8 99 99 A3
b. A3 99 99 B8
Location: Exercise Procedure page: se3p9, Question ID: e3p9e
13. What instruction will the CPU execute during the next bus cycle?
a. MOV DS:6050H,AX
b. None
Location: Exercise Procedure page: se3p10, Question ID: e3p10a
14. Press the STEP switch once. What address appears on the address LEDs?
a. 02004
b. 02006
Location: Exercise Procedure page: se3p10, Question ID: e3p10c
15. Does the logic state of the W/R# line indicate a CPU write or read operation?
a. write
b. read
Location: Exercise Procedure page: se3p10, Question ID: e3p10e
16. What are the four bytes of data appearing on data lines D7 to D0 (byte 0), D15 to D8 (byte
1), D23 to D16 (byte 2), and D31 to D24 (byte 3)?
a. 50 60 A1 50
b. 60 50 50 A1

3-180

32 Bit Microprocessor

Unit 7 Programming: 80386 CPU Instructions

Location: Exercise Procedure page: se3p10, Question ID: e3p10g


17. What instruction will the CPU execute during the next bus cycle?
a. None
b. MOV DS:6050H,AX
Location: Exercise Procedure page: se3p11, Question ID: e3p11a
19. Does the logic state of the W/R# line indicate a CPU write or read operation?
a. write
b. read
Location: Exercise Procedure page: se3p11, Question ID: e3p11c
20. What are the four bytes of data appearing on data lines D7 to D0 (byte 0), D15 to D8 (byte
1), D23 to D16 (byte 2), and D31 to D24 (byte 3)?
a. 50 CB F8 XX
b. 60 EB F8 XX
Location: Exercise Procedure page: se3p11, Question ID: e3p11e
21. What instruction will the CPU execute during the next bus cycle?
a. MOV DS:6050H,AX
b. MOV AX,DS:6050H
c. JMP 2003H
Location: Exercise Procedure page: se3p12, Question ID: e3p12a
22. Press the STEP switch once. What address appears on the address LEDs?
a. 06050
b. 60500
Location: Exercise Procedure page: se3p12, Question ID: e3p12c
23. Does the logic state of the W/R# line indicate a CPU write or read operation?
a. write
b. read

3-181

32 Bit Microprocessor

Unit 7 Programming: 80386 CPU Instructions

Location: Exercise Procedure page: se3p12, Question ID: e3p12e


24. What are the two bytes of data appearing on data lines D7 to D0 (byte 0), and D15 to D8
(byte 1)?
a. 60 50
b. 99 99
Location: Exercise Procedure page: se3p12, Question ID: e3p12g
25. What instruction will the CPU execute during the next bus cycle?
a. JMP 2003H
b. MOV AX,DS:6050H
c. MOV AX,9999H
Location: Exercise Procedure page: se3p13, Question ID: e3p13a
27. Does the logic state of the W/R# line indicate a CPU write or read operation?
a. write
b. read
Location: Exercise Procedure page: se3p13, Question ID: e3p13c
28. What are the two bytes of data appearing on data lines D7 to D0 (byte 0), and D15 to D8
(byte 1)?
a. 99 99
b. 60 50
Location: Exercise Procedure page: se3p14, Question ID: e3p14a
29. What instruction will the CPU execute during the next bus cycle?
a. JMP 2003H
b. MOV AX,9999H
Location: Exercise Procedure page: se3p14, Question ID: e3p14c
30. Press the STEP switch once. What address appears on the address LEDs?
a. 02000
b. 02003
c. 02004

3-182

32 Bit Microprocessor

Unit 7 Programming: 80386 CPU Instructions

Location: Exercise Procedure page: se3p14, Question ID: e3p14e


31. Has the program completed one loop?
a. yes
b. no
Location: Exercise Procedure page: se3p25, Question ID: e3p25a
36. With the present status of the address bus, data bus, and W/R# line, is the program in an odd
or even loop?
a. odd
b. even
Location: Exercise Procedure page: se3p25, Question ID: e3p25c
37. Press the STEP switch until the W/R# line is HIGH again. What intruction is the CPU at?
a. MOV DS:[5004H],EAX - move AAAA AAAA from EAX to address 05004
b. MOV EBX,DS:[5000H] - move 5555 5555 from address 05000 to EAX
Location: Exercise Procedure page: se3p26, Question ID: e3p26a
38. Press the STEP switch once. What instruction is the program at?
a. MOV EBX,DS:[5004H] - move AAAA AAAA from address 05004 to EBX
b. MOV EBX,DS:[5000H] - move 5555 5555 from address 05000 to EBX
Location: Exercise Procedure page: se3p26, Question ID: e3p26c
39. Press the STEP switch until the address 05004 appears on the address bus. What instruction
is the program at?
a. JMP FCOBH - repeat the instructions starting at effective address FCOB
b. MOV EBX,DS:[5004H] - move AAAA AAAA from address 05004 to EBX
Location: Exercise Procedure page: se3p27, Question ID: e3p27a
40. What instruction will be executed next?
a. JMP FCOBH - repeat the in structions starting effective address FCOB
b. MOV DS:[5000H],EAX-move AAAA AAAA from the EAX register address 05000

3-183

32 Bit Microprocessor

Unit 7 Programming: 80386 CPU Instructions

Location: Exercise Procedure page: se3p27, Question ID: e3p27c


41. Press the STEP switch until 05000 appears on address bus and the W/R# line is HIGH. What
hex data appears on the data bus?
a. 5555 5555
b. AAAA AAAA
Location: Exercise Procedure page: se3p28, Question ID: e3p28a
42. Is the program in an odd or even loop?
a. odd
b. even
Location: Exercise Procedure page: se3p30, Question ID: e3p30a
46. Slowly step through the bus cycles. What does the CM affect?
a. address bus lines A7 to A0.
b. data bus lines D7 to D0
c. data bus lines D15 to D8
d. address bus lines A15 to A8.
REVIEW QUESTIONS
Location: Review Questions page: se3r1, Question ID: e3r1
1. What memory address does the above loop program test? (The data segment base address is
00000.)
a. 0F0F0
b. 0B052
c. 052B0
d. 04003
Location: Review Questions page: se3r2, Question ID: e3r2
2. What data does the above loop program use to test the memory address?
a. F0F0F0F0
b. 66A3B052
c. 66B8
d. EBF8

3-184

32 Bit Microprocessor

Unit 7 Programming: 80386 CPU Instructions

Location: Review Questions page: se3r3, Question ID: e3r3


3. For how long will the above loop test program run?
a. 3 loops
b. 50 loops
c. 1000 loops
d. The program will run continuously.
Location: Review Questions page: se3r4, Question ID: e3r4
4. How do you use the above program to detect a memory address fault?
a. step through each instruction
b. step through each bus cycle in the single cycle mode
c. let the program run until the fault is detected
d. All of the above.
Location: Review Questions page: se3r5, Question ID: e3r5
5. Press STEP once. The W/R# signal changes to LOW. The fault is in which data bus line?
a. D3
b. D15
c. D20
d. D24
CMS AVAILABLE
CM 5
CM 14
FAULTS AVAILABLE
None

3-185

32 Bit Microprocessor

Unit 7 Programming: 80386 CPU Instructions

Exercise 4 Using the 80386 CPU Instructions - II


EXERCISE OBJECTIVE
Use 80386 CPU instructions to create a program that tests a range of memory addresses. Verify
results by observing the display and/or address and data LEDs.
EXERCISE DISCUSSION
Location: Exercise Discussion page: se4d4, Question ID: e4d4a
If the SI register contains 6000 and the DI register contains 6FFF, at what address will the
memory test begin?
a. 06FFF
b. 06000
c. 00000
Location: Exercise Discussion page: se4d7, Question ID: e4d7a
What register contains the test data that is compared to the data in the address tested?
a. SI
b. DI
c. DL
Location: Exercise Discussion page: se4d10, Question ID: e4d10a
Which loop tests each address for a specific byte of data?
a. 0400D to 04016
b. 0400B to 0401A

3-186

32 Bit Microprocessor

Unit 7 Programming: 80386 CPU Instructions

EXERCISE PROCEDURE
Location: Exercise Procedure page: se4p6, Question ID: e4p6a
5. Press <STEP> to execute the first instruction, MOV DL,00. Read the DL register. Was hex 00
moved to the DL register?
a. yes
b. no
Location: Exercise Procedure page: se4p6, Question ID: e4p6c
6. Press <EXIT>, and then press <STEP> to execute the second instruction, MOV BX,SI. Read
the BX register. Was the starting offset value 6000 moved to the BX register?
a. yes
b. no
Location: Exercise Procedure page: se4p7, Question ID: e4p7a
7. Press <EXIT>, and then press <STEP> to execute the third instruction, MOV [BX],DL. This
instruction moves the contents of the DL register (00) to memory address 06000. Read address
06000. Was hex 00 moved to address 06000?
a. yes
b. no
Location: Exercise Procedure page: se4p7, Question ID: e4p7c
8. Press <STEP> to execute the fourth instruction, INC BX. This instruction increments (INC)
the contents of the BX register by hex 01 from (6000 to 6001). Read the BX register. Was the
BX register incremented to 6001?
a. yes
b. no
Location: Exercise Procedure page: se4p8, Question ID: e4p8a
8. At what address will the program be after you press <STEP> two times to execute CMP
BX,DI and JLE 4004H?
a. 0400B
b. 04004

3-187

32 Bit Microprocessor

Unit 7 Programming: 80386 CPU Instructions

Location: Exercise Procedure page: se4p9, Question ID: e4p9a


10. What will occur when you press <STEP> again to execute MOV [BX],DL?
a. Hex 01 will be written (moved) to address 06000.
b. Hex 00 will be written (moved) to address 06001.
Location: Exercise Procedure page: se4p9, Question ID: e4p9c
11. Press <STEP> to execute the instruction MOV [BX],DL again. Read address 06001. Was
hex 00 moved to address 06001?
a. yes
b. no
Location: Exercise Procedure page: se4p10, Question ID: e4p10a
12. Press <STEP> two times so that 04009 appears in the display. When you press <STEP>
again to execute JLE 4004H, what will the program do?
a. jump back to address 04004
b. move to address 0400B
Location: Exercise Procedure page: se4p11, Question ID: e4p11a
14. What will the instruction CMP DL,[BX] at address 0400D do?
a. compare the contents of address 06000 with the value in the DL register
b. read the contents of address 06000 to the DL register
Location: Exercise Procedure page: se4p12, Question ID: e4p12a
16. What will the program do when you press <STEP> to execute JNE 401D at address 0400F?
a. jump to address 0401D
b. move to the next instruction at address 04011
Location: Exercise Procedure page: se4p12, Question ID: e4p12c
Read address 06000. Were the contents of address 06000 incremented from hex 00 to 01?
a. yes
b. no

3-188

32 Bit Microprocessor

Unit 7 Programming: 80386 CPU Instructions

Location: Exercise Procedure page: se4p13, Question ID: e4p13a


20. What will the program do when you press <STEP> to execute JLE 400DH at address 04016?
a. jump back to address 0400D
b. move to address 04018
Location: Exercise Procedure page: se4p14, Question ID: e4p14a
What will the instruction CMP DL,[BX] at address 0400D do?
a. move the data in the BX register to the DL register
b. test the data in address 06001 for hex 00
Location: Exercise Procedure page: se4p15, Question ID: e4p15a
23. What will the program do when you press <STEP> again to execute JLE 400DH at address
04016?
a. jump back to address 0400D
b. move to address 04018
Location: Exercise Procedure page: se4p15, Question ID: e4p15c
25. Press <STEP> to execute INC DL at address 04018. Read the DL register. What value does
it contain?
a. 00
b. 01
c. 11
Location: Exercise Procedure page: se4p17, Question ID: e4p17a
28. What does the memory test program do during the next pass through the address test loop
from addresses 0400D to 04016?
a. stops because addresses 06000 and 06001 were tested
b. tests addresses 06000 and 06001 with test data hex 01
c. increments the test data to hex 10
Location: Exercise Procedure page: se4p18, Question ID: e4p18a
31. With the SI register containing 6000 and the DI register containing 6FFF, what address range
will this program test?
a. 06000 to 06FFF
b. 60000 to 6FFF0

3-189

32 Bit Microprocessor

Unit 7 Programming: 80386 CPU Instructions

Location: Exercise Procedure page: se4p19, Question ID: e4p19a


33. What address is shown on the display when the program stops?
a. 0401D
b. 0401E
Location: Exercise Procedure page: se4p19, Question ID: e4p19c
34. Did the program detect an error in address range 06000 to 06FFF?
a. yes
b. no
Location: Exercise Procedure page: se4p20, Question ID: e4p20a
35. Read several addresses between 06000 and 06FFF. Address range 06000 to 06FFF contains
what hex data?
a. 10
b. 01
c. 00
Location: Exercise Procedure page: se4p21, Question ID: e4p21a
39. What address is displayed?
a. 0401D
b. 0401E
Location: Exercise Procedure page: se4p22, Question ID: e4p22a
40. Was there an error detected in address range 06000 to 06FFF?
a. yes
b. no
Location: Exercise Procedure page: se4p22, Question ID: e4p22c
41. What register contains the offset value of the faulty address?
a. DI
b. SI
c. BX
Location: Exercise Procedure page: se4p22, Question ID: e4p22e
42. Read the BX register. What value does it contain?
a. 6FCC
b. 7000

3-190

32 Bit Microprocessor

Unit 7 Programming: 80386 CPU Instructions

REVIEW QUESTIONS
Location: Review Questions page: se4r1, Question ID: e4r1
1. What occurs during the first loop between addresses 04004 and 04009 within the memory test
program?
a. Each address is tested for hex 00.
b. The program writes hex 00 to the addresses to be tested.
c. The program loads the SI and DI registers with the starting and ending addresses, respectively.
d. All of the above.
Location: Review Questions page: se4r2, Question ID: e4r2
2. The SI register contains 7500, the DI register contains 7AFF, the DS register contains 0000,
and the CS register contains 4000. What address range is tested?
a. 00000 to 07500
b. 04000 to 07AFF
c. 00000 to 04000
d. 07500 to 07AFF
Location: Review Questions page: se4r3, Question ID: e4r3
3. What does the instruction CMP DL,[BX] at address 0400D cause the CPU to do?
a. compare the data in a memory address (offset in the BX register) with the test data in the
DL register
b. compare the values in the BX and DL registers
c. copy the value in the BX register to the DL register
d. write the data in a memory address (offset in the BX register) to the DL register
Location: Review Questions page: se4r4, Question ID: e4r4
4. What does the instruction JNZ 400BH at address 0401A cause the CPU to do?
a. move to the next instruction if the value in the DL register is not hex 00
b. cause a jump to address 0400B if the value in the DL register is hex 00
c. cause a jump to address 0400B if the value in the DL register is not hex 00
d. reset the data in address 0400B to hex 00

3-191

32 Bit Microprocessor

Unit 7 Programming: 80386 CPU Instructions

Location: Review Questions page: se4r5, Question ID: e4r5


5. The program stops at 0401E. The SI register contains 7500, the DI register contains 7AFF, the
DS register contains 0000, and the BX register contains 790A. What is the address of the error?
a. 0401C
b. 0790A
c. 07500
d. 07AFF
CMS AVAILABLE
None
FAULTS AVAILABLE
None

3-192

32 Bit Microprocessor

Unit 7 Programming: 80386 CPU Instructions

UNIT TEST
Location: Unit Test Question page: sut1, Question ID: ut1
The general instruction format for the 80386 CPU contains 9 possible fields. What field always
appears in the instruction code?
a. op code
b. mod r/m
c. s-i-b
d. displacement
Location: Unit Test Question page: sut2, Question ID: ut2
In the real mode, the above instruction requires which hexadecimal prefix? The operand is in the
data segment.
a. 66
b. 67
c. 2E
d. 26
Location: Unit Test Question page: sut3, Question ID: ut3
What does the d bit determine?
a. the operand size
b. whether the r/m field specifies a register or memory location
c. whether the reg field specifies the source or the destination register
d. if an s-i-b byte is necessary
Location: Unit Test Question page: sut4, Question ID: ut4
What are the mod bits for the above instruction?
a. 00
b. 01
c. 10
d. 11
Location: Unit Test Question page: sut5, Question ID: ut5
If the operand is in memory, what do the r/m bits specify?
a. the destination operand
b. how the CPU calculates the effective address
c. the source operand
d. the register

3-193

32 Bit Microprocessor

Unit 7 Programming: 80386 CPU Instructions

Location: Unit Test Question page: sut6, Question ID: ut6


When is it necessary to include an s-i-b byte in the instruction code?
a. with 32-bit addresses
b. with 32-bit operands
c. with scaling factors in the effective address calculation
d. with the memory addressing modes
Location: Unit Test Question page: sut7, Question ID: ut7
What is the hex instruction code for the above mnemonic? Use the information provided below
and in the help window (click on Help).
a. 67 A1 B9
b. A3 A1 67
c. B1 67 A1
d. B9 A1 67
Location: Unit Test Question page: sut8, Question ID: ut8
In the above loop test program, what instruction causes the CPU to read from memory?
a. MOV BX,AAAAH
b. MOV BX,DS:5070H
c. MOV DS:5070H,BX
d. JMP 3003H
Location: Unit Test Question page: sut9, Question ID: ut9
In the above loop test program, what instruction causes the CPU to return to address 03003?
a. NOT BX
b. MOV BX,DS:5070H
c. MOV DS:5070H,BX
d. JMP 3003H
Location: Unit Test Question page: sut10, Question ID: ut10
After the initial execution of the program's loop (the program returns to address 03003), what is
the hex data in the BX register?
a. 5555
b. AAAA
c. 5004
d. AA55

3-194

32 Bit Microprocessor

Unit 8 Troubleshooting

UNIT 8 TROUBLESHOOTING

TROUBLESHOOTING
Location: Troubleshooting page: ttrba1, Question ID: trba1a
Does the performance check indicate that the circuit is working properly?
a. yes
b. no
Location: Troubleshooting page: ttrba2, Question ID: trba2
The fault is
a. CLK shorted to ground.
b. A1 shorted to A2.
c. MROMSEL# shorted to VCC.
d. W/R# open.
Location: Troubleshooting page: ttrbb1, Question ID: trbb1a
Does the performance check indicate that the circuit is working properly?
a. yes
b. no
Location: Troubleshooting page: ttrbb2, Question ID: trbb2
The fault is
a. ADS# shorted to VCC.
b. ADS# open.
c. RDY# shorted to VCC.
d. RDY# shorted to ground.
Location: Troubleshooting page: ttrbc1, Question ID: trbc1a
Does the performance check indicate that the circuit is working properly?
a. yes
b. no

3-195

32 Bit Microprocessor

Unit 8 Troubleshooting

Location: Troubleshooting page: ttrbc2, Question ID: trbc2


The fault is
a. INTR shorted to ground.
b. PPI not enabled.
c. keypad STROBE signal open.
d. CLR input of keypad one-shot (U40A) shorted to ground.
Location: Troubleshooting page: ttrbd1, Question ID: trbd1a
Does the performance check indicate that the circuit is working properly?
a. yes
b. no
Location: Troubleshooting page: ttrbd2, Question ID: trbd2
The fault is
a. RAMSEL# shorted to ground.
b. UROMSEL# shorted to VCC.
c. RESET shorted to ground.
d. CLK shorted to ground.
Location: Troubleshooting page: ttrbe1, Question ID: trbe1a
Does the performance check indicate that the circuit is working properly?
a. yes
b. no
Location: Troubleshooting page: ttrbe2, Question ID: trbe2
The fault is
a. MROMSEL# shorted to VCC.
b. BS16# shorted to VCC.
c. BS16# shorted to ground.
d. A1 shorted to A2.
Location: Troubleshooting page: ttrbf1, Question ID: trbf1a
Does the performance check indicate that the circuit is working properly?
a. yes
b. no

3-196

32 Bit Microprocessor

Unit 8 Troubleshooting

Location: Troubleshooting page: ttrbf2, Question ID: trbf2


The fault is
a. MRDC# shorted to VCC.
b. MWTC# shorted to VCC.
c. W/R# shorted to VCC.
d. D/C# shorted to ground.
Location: Troubleshooting page: ttrbg1, Question ID: trbg1a
Does the performance check indicate that the circuit is working properly?
a. yes
b. no
Location: Troubleshooting page: ttrbg2, Question ID: trbg2
The fault is
a. CLK shorted to ground.
b. ADS# shorted to ground.
c. RDY# shorted to VCC.
d. BE0# shorted to VCC.
Location: Troubleshooting page: ttrbh1, Question ID: trbh1a
Does the performance check indicate that the circuit is working properly?
a. yes
b. no
Location: Troubleshooting page: ttrbh2, Question ID: trbh2
The fault is
a. RESET switch n.o. contact shorted to common.
b. HALT switch n.o. contact shorted to common.
c. CLK2 shorted to ground.
d. CLK shorted to ground.

3-197

32 Bit Microprocessor

Unit 8 Troubleshooting

CMS AVAILABLE
None
FAULTS AVAILABLE
Fault 1
Fault 2
Fault 3
Fault 5
Fault 8
Fault 10
Fault 11
Fault 12

3-198

32 Bit Microprocessor

Unit 9 Microprocessor Applications (Optional)

UNIT 9 MICROPROCESSOR APPLICATIONS (OPTIONAL)


NOTE: This unit is designed to work with the MICROPROCESSOR APPLICATIONS Board.
If you do not have this board and are interested in incorporating it into your curriculum, please
call your Lab-Volt representative or call 1-800-522-8658
UNIT OBJECTIVE
Demonstrate practical microprocessor applications by interfacing the 32-BIT
MICROPROCESSOR circuit board with the MICROPROCESSOR APPLICATION board.
Verify results by making observations and taking measurements.
UNIT FUNDAMENTALS
Location: Unit Fundamentals page: sf4, Question ID: f4a
Which signals can you monitor with a logic probe?
a. ADCIN
b. DACOUT
c. PB7, PB0, and PC0
d. All of the above.
Location: Unit Fundamentals page: sf7, Question ID: f7a
How many pulses per revolution does the encoder disc on your circuit board generate?
ppr =
Recall Label for this Question: None
Nominal Answer: 5.0
Min/Max Value: (5) to (5)
Value Calculation: 5.000
Correct Tolerance Percent = true
Correct Minus Tolerance = 0
Correct Plus Tolerance = 0

3-199

32 Bit Microprocessor

Unit 9 Microprocessor Applications (Optional)

Location: Unit Fundamentals page: sf8, Question ID: f8a


Over which signal line can the encoder output provide feedback to the microprocessor?
a. DACOUT
b. ADCIN
c. an input port bit
d. an output port bit
CMS AVAILABLE
None
FAULTS AVAILABLE
None
NEW TERMS AND WORDS
optical interrupter - an optoelectronic device with an LED and a phototransistor located on
opposite sides of an open slot. An object passing through the slot can interrupt the light beam and
cause the optical interrupter to generate output pulses.
temperature transducers - a transducer whose output is a function of its temperature.
open-loop temperature control - a form of temperature control by which a heater is activated but
no temperature information is fed back to the controlling device.
closed-loop temperature control - a form of temperature control by which a heater is activated
and its temperature is fed back to the controlling device in order to regulate temperature.
set point - the desired temperature at
which a temperature controller
is to regulate temperature.
EQUIPMENT REQUIRED
F.A.C.E.T. base unit
MICROPROCESSOR APPLICATION BOARD
Multimeter
Oscilloscope, dual trace
32-BIT MICROPROCESSOR circuit board

3-200

32 Bit Microprocessor

Unit 9 Microprocessor Applications (Optional)

Exercise 1 Application Board Familiarization


EXERCISE OBJECTIVE
Explain the function of each circuit block on the MICROPROCESSOR APPLICATION board.
EXERCISE DISCUSSION
Location: Exercise Discussion page: se1d1, Question ID: e1d1a
Which device on the microprocessor board provides the digital I/O lines?
a. PIC
b. PPI
c. DAC
d. ADC
Location: Exercise Discussion page: se1d1, Question ID: e1d1c
Output bit PB7 turns the motor on or off. Which mode should be selected on the MOT header for
PB7 to operate the motor?
a. LIN
b. SWT
c. Does not matter.
EXERCISE PROCEDURE
Location: Exercise Procedure page: se1p5, Question ID: e1p5a
8. Manually rotate the fan blade on the motor. Which LED is pulsing?
a. CW
b. CCW
c. ENCODER OUT
Location: Exercise Procedure page: se1p6, Question ID: e1p6a
Which signal is used for the encoder output?
a. PB7
b. PB0
c. PC0

3-201

32 Bit Microprocessor

Unit 9 Microprocessor Applications (Optional)

Location: Exercise Procedure page: se1p7, Question ID: e1p7a


The MSB of this byte (PB7) controls the motor status (1 = on, 0 = off). What state would the
motor be in if the CPU outputs 80H as shown in the program?
a. on
b. off
c. Cannot be determined.
Location: Exercise Procedure page: se1p8, Question ID: e1p8a
You can turn off the motor by clearing the PB7 bit. What byte can you enter at address 04001H
to turn off the motor?
a. 88H
b. 8FH
c. FFH
d. 00H
Location: Exercise Procedure page: se1p9, Question ID: e1p9a
What happens when you execute the program?
a. PB7 switches low.
b. The motor stops running.
c. Both of the above.
Location: Exercise Procedure page: se1p11, Question ID: e1p11a
Why is the motor off?
a. PB7 is low.
b. The digital DAC value represents 0V.
c. The MOT shunt is in the LIN position.
Location: Exercise Procedure page: se1p12, Question ID: e1p12a
20. Measure the motor voltage.
VM =
Vdc
Recall Label for this Question: v1
Nominal Answer: 1.5
Min/Max Value: (1.73) to (1.28)
Value Calculation: 1.500
Correct Tolerance Percent = true
Correct Minus Tolerance = 15
Correct Plus Tolerance = 15

3-202

32 Bit Microprocessor

Unit 9 Microprocessor Applications (Optional)

Location: Exercise Procedure page: se1p13, Question ID: e1p13a


What happens to the motor?
a. speed increases
b. direction changes
c. Both of the above.
Location: Exercise Procedure page: se1p13, Question ID: e1p13c
22. Measure the voltage across the motor.
VM =
Vdc
Recall Label for this Question: v2
Nominal Answer: 2.63
Min/Max Value: (2.236) to (3.025)
Value Calculation: 2.630
Correct Tolerance Percent = true
Correct Minus Tolerance = 15
Correct Plus Tolerance = 15
Location: Exercise Procedure page: se1p14, Question ID: e1p14a
This table shows the results of writing the two different values to the DAC. What accounts for
the change in motor direction between the first and second values?
a. the increase in voltage magnitude
b. the change in voltage polarity
c. Both of the above.
Location: Exercise Procedure page: se1p15, Question ID: e1p15a
What would be the result of writing the byte shown into Port B?
a. The heater would be turned fully off.
b. The heater would be turned fully on.
c. The heater would be turned partially on depending on the value of the DAC voltage.

3-203

32 Bit Microprocessor

Unit 9 Microprocessor Applications (Optional)

Location: Exercise Procedure page: se1p16, Question ID: e1p16a


27. Measure the ADCIN voltage.
VADCIN =
V
Recall Label for this Question: None
Nominal Answer: 5.0
Min/Max VALUE: (4) to (6)
Value Calculation: 5.000
Correct Tolerance Percent = true
Correct Minus Tolerance = 20
Correct Plus Tolerance = 20
Location: Exercise Procedure page: se1p18, Question ID: e1p18a
29. Observe the ADCIN voltage on the meter. The voltage is
a. decreasing.
b. increasing.
c. not changing significantly.
REVIEW QUESTIONS
Location: Review Questions page: se1r1, Question ID: e1r1
1. The microprocessor board can send an analog value to the application board via the DACOUT
line to
a. switch the motor on and off.
b. switch the heater on and off.
c. control the speed of the motor.
d. All of the above.
Location: Review Questions page: se1r2, Question ID: e1r2
2. Which byte can the CPU output to Port B to turn on both the heater and the fan in the SWT
mode?
a. 01H
b. 08H
c. 80H
d. 81H

3-204

32 Bit Microprocessor

Unit 9 Microprocessor Applications (Optional)

Location: Review Questions page: se1r3, Question ID: e1r3


3. Which control line can the microprocessor board use to switch the heater on and off?
a. PB0
b. PB7
c. PC0
d. DACOUT
Location: Review Questions page: se1r4, Question ID: e1r4
4. Which circuit block on the 32-BIT MICROPROCESSOR circuit board is not used to interface
with the application board?
a. SERIAL PORT
b. PARALLEL PORT
c. POWER
d. ADC
Location: Review Questions page: se1r5, Question ID: e1r5
5. The ADC shunt on the application board must be in the TEMP position in order for the
microprocessor board to
a. turn the heater on and off.
b. read the voltage that represents a temperature difference.
c. output a reference voltage to the temperature controller.
d. All of the above.
CMS AVAILABLE
None
FAULTS AVAILABLE
None

3-205

32 Bit Microprocessor

Unit 9 Microprocessor Applications (Optional)

Exercise 2 DC Motor Control


EXERCISE OBJECTIVE
Explain and demonstrate how a microprocessor can control the speed and direction of rotation of
a small dc motor.
EXERCISE DISCUSSION
Location: Exercise Discussion page: se2d1, Question ID: e2d1a
What happens when PB7 is high?
a. The motor runs full speed CW.
b. The motor runs full speed CCW.
c. The motor stops.
Location: Exercise Discussion page: se2d4, Question ID: e2d4a
Which voltage would result in a higher speed?
a. 2V
b. +2V
c. Both would result in the same speed.
Location: Exercise Discussion page: se2d6, Question ID: e2d6a
Why can the pulse-counting method not be used to determine direction of rotation?
a. Pulses are generated in only one direction of rotation.
b. The pulses appear the same in both directions.

3-206

32 Bit Microprocessor

Unit 9 Microprocessor Applications (Optional)

EXERCISE PROCEDURE
Location: Exercise Procedure page: se2p6, Question ID: e2p6a
Besides PB7, how many other outputs from port B perform a function on the application board?
a. one
b. two
c. three
d. all
Location: Exercise Procedure page: se2p7, Question ID: e2p7a
The maximum speed of the motor is about 30 rps. How many pulses per second does the optical
interrupter output at maximum motor speed?
pps =
Recall Label for this Question: pps
Nominal Answer: 150.0
Min/Max Value: (150) to (150)
Value Calculation: 150.000
Correct Tolerance Percent = true
Correct Minus Tolerance = 0
Correct Plus Tolerance = 0
Location: Exercise Procedure page: se2p9, Question ID: e2p9a
9. Record the frequency of the resulting waveform.
f=
Hz
Recall Label for this Question: f1
Nominal Answer: 150.0
Min/Max VALUE: (120) to (180)
Value Calculation: 150.000
Correct Tolerance Percent = true
Correct Minus Tolerance = 20
Correct Plus Tolerance = 20
Location: Exercise Procedure page: se2p9, Question ID: e2p9c
Is your measured frequency of # f1 # Hz close to your calculated value of 150 pulses per second?
a. yes
b. no

3-207

32 Bit Microprocessor

Unit 9 Microprocessor Applications (Optional)

Location: Exercise Procedure page: se2p12, Question ID: e2p12a


What would the DAC output be for an input of 40H?
VO(DAC) = decimal DAC value x 0.039
=
V
Recall Label for this Question: None
Nominal Answer: 2.496
Min/Max Value: (2.446) to (2.546)
Value Calculation: 2.496
Correct Tolerance Percent = true
Correct Minus Tolerance = 2
Correct Plus Tolerance = 2
Location: Exercise Procedure page: se2p13, Question ID: e2p13a
Why is the motor stopped?
a. The microprocessor has not sent a speed value to the DAC.
b. The microprocessor sent a DAC value that corresponds to a zero speed.
c. The shunt is in LIN mode.
Location: Exercise Procedure page: se2p14, Question ID: e2p14a
16. Measure the DACOUT voltage.
DACOUT =
V
Recall Label for this Question: v40d
Nominal Answer: 2.496
Min/Max Value: (2.246) to (2.746)
Value Calculation: 2.496
Correct Tolerance Percent = true
Correct Minus Tolerance = 10
Correct Plus Tolerance = 10

3-208

32 Bit Microprocessor

Unit 9 Microprocessor Applications (Optional)

Location: Exercise Procedure page: se2p15, Question ID: e2p15a


What is the op amp output for a DAC input of 40H?
VO(op amp) = (0.0234) x (DAC input - 128)
=
V
Recall Label for this Question: v40o
Nominal Answer: 1.497
Min/Max Value: (1.467) to (1.527)
Value Calculation: 1.497
Correct Tolerance Percent = true
Correct Minus Tolerance = 2
Correct Plus Tolerance = 2
Location: Exercise Procedure page: se2p16, Question ID: e2p16a
18. The DAC input value is still 40H. Measure the op amp output.
VO(op amp) =
V
Recall Label for this Question: None
Nominal Answer: 1.497
*
Min/Max Value: (1.174) to (1.832)
Value Calculation: # v40o #
Correct Tolerance Percent = true
Correct Minus Tolerance = 20
Correct Plus Tolerance = 20
Location: Exercise Procedure page: se2p16, Question ID: e2p16c
Is your measured op amp voltage about the same as your calculated value of # v40o#V?
a. yes
b. no

NOTE: Min/Max Values shown are based upon a calculation using the absolute
lowest and highest recall value. By using the actual input in your calculations, you
will determine the correct value.
3-209

32 Bit Microprocessor

Unit 9 Microprocessor Applications (Optional)

Location: Exercise Procedure page: se2p19, Question ID: e2p19a


What speed is indicated on the display?
speed =
rps
Recall Label for this Question: s1
Nominal Answer: 11.0
Min/Max VALUE: (9.9) to (12.1)
Value Calculation: 11.000
Correct Tolerance Percent = true
Correct Minus Tolerance = 10
Correct Plus Tolerance = 10
Location: Exercise Procedure page: se2p20, Question ID: e2p20a
23. The PC0 signal is the output from the optical interrupter. Measure the frequency on the
scope.
f=
Hz
Recall Label for this Question: f1a
Nominal Answer: 55.0
Min/Max Value: (49.5) to (60.5)
Value Calculation: 55.000
Correct Tolerance Percent = true
Correct Minus Tolerance = 10
Correct Plus Tolerance = 10
Location: Exercise Procedure page: se2p21, Question ID: e2p21a
Why are the motor rps and the optical interrupter output frequency not equal?
a. There are five black marks on the encoder disc.
b. There are four blades on the fan.
c. The motor is running too fast for the microprocessor to count all the pulses.
Location: Exercise Procedure page: se2p22, Question ID: e2p22a
Why did the motor not stop when you wrote 00H to the DAC?
a. The DAC did not convert the value to an analog voltage.
b. The MOT shunt is in the LIN position.
c. The value for zero speed is not 00H.

3-210

32 Bit Microprocessor

Unit 9 Microprocessor Applications (Optional)

Location: Exercise Procedure page: se2p27, Question ID: e2p27a


Does the waveform on the scope have about a 50% duty cycle?
a. yes
b. no
Location: Exercise Procedure page: se2p27, Question ID: e2p27c
What is the result of increasing the on-time value from 80H to FFH?
a. The motor speed increased.
b. The duty cycle increased.
c. Both of the above.
Location: Exercise Procedure page: se2p28, Question ID: e2p28a
What is the result of increasing the off-time value from 80H to FFH?
a. The motor speed decreased.
b. The duty cycle decreased.
c. Both of the above.
REVIEW QUESTIONS
Location: Review Questions page: se2r1, Question ID: e2r1
1. What line from the microprocessor board drives the motor in the LIN operating mode?
a. DACOUT
b. PB7
c. PB0
d. PC0
Location: Review Questions page: se2r2, Question ID: e2r2
2. The microprocessor can determine the speed of the motor in rps from the optical interrupter
output by
a. measuring the output voltage via the ADCIN line.
b. counting the pulses in a 1-second interval.
c. counting the pulses in a 1-second interval and dividing by 5.
d. counting the pulses in a 1-second interval and multiplying by 5.

3-211

32 Bit Microprocessor

Unit 9 Microprocessor Applications (Optional)

Location: Review Questions page: se2r3, Question ID: e2r3


3. How can a microprocessor control a dc motor?
a. by turning the motor on and off with a single output bit
b. by sending an analog voltage to the motor via a DAC
c. by applying a square wave to the motor and varying the duty cycle to control the speed
d. All of the above.
Location: Review Questions page: se2r4, Question ID: e2r4
4. This flow chart describes a micro processor program used to drive a dc motor with a square
wave. Which values written to CX in the on-time and off-time delay loops will result in a duty
cycle less than 50%?

a.
b.
c.
d.

on-time
08H
08H
80H
80H

off-time
08H
80H
08H
80H

Location: Review Questions page: se2r5, Question ID: e2r5


5. The microprocessor board can use the ADCIN line to
a. switch the motor fully on or fully off.
b. output an analog voltage to the motor.
c. count pulses from the optical interrupter.
d. read the voltage applied to the motor.
CMS AVAILABLE
None
FAULTS AVAILABLE
None

3-212

32 Bit Microprocessor

Unit 9 Microprocessor Applications (Optional)

Exercise 3 Temperature Control


EXERCISE OBJECTIVE
Explain and demonstrate the use of a microprocessor in open and closed-loop temperature
control applications. Verify results by loading and executing simple programs, making
observations, and taking measurements.
EXERCISE DISCUSSION
Location: Exercise Discussion page: se3d1, Question ID: e3d1a
What byte can the microprocessor output to port B to turn the heater on?
a. 00H
b. 80H
c. 08H
d. None of these.
Location: Exercise Discussion page: se3d2, Question ID: e3d2a
This current represents
a. the difference between room temperature and the temperature of the heater.
b. the sum of the room temperature and heater temperature.
c. Neither of the above.
Location: Exercise Discussion page: se3d3, Question ID: e3d3a
What approximate voltage appears at the op amp's non-inverting input?
a. 5V
b. 10V
c. It depends on the output current from the transducers.

3-213

32 Bit Microprocessor

Unit 9 Microprocessor Applications (Optional)

EXERCISE PROCEDURE
Location: Exercise Procedure page: se3p6, Question ID: e3p6a
What type of temperature control is accomplished by this program?
a. open-loop
b. closed-loop
Location: Exercise Procedure page: se3p7, Question ID: e3p7a
9. Measure the DACOUT voltage.
DACOUT =
V
Recall Label for this Question: None
Nominal Answer: 10.0
Min/Max Value: (9.5) to (10.5)
Value Calculation: 10.000
Correct Tolerance Percent = true
Correct Minus Tolerance = 5
Correct Plus Tolerance = 5
Location: Exercise Procedure page: se3p8, Question ID: e3p8a
11. Measure the voltage at ADCIN.
ADCIN =
Vdc
Recall Label for this Question: vr
Nominal Answer: 5.0
Min/Max Value: (4.5) to (5.5)
Value Calculation: 5.000
Correct Tolerance Percent = true
Correct Minus Tolerance = 10
Correct Plus Tolerance = 10

3-214

32 Bit Microprocessor

Unit 9 Microprocessor Applications (Optional)

Location: Exercise Procedure page: se3p10, Question ID: e3p10a


Calculate the rate of change of the op amp output voltage with temperature.
VO = (1 A/C) x 100 k
=
V/C
Recall Label for this Question:
Nominal Answer: 0.1
Min/Max Value: (0.1) to (0.1)
Value Calculation: 0.100
Correct Tolerance Percent = true
Correct Minus Tolerance = 0
Correct Plus Tolerance = 0
Location: Exercise Procedure page: se3p11, Question ID: e3p11a
If the temperature increases by 15C, how much would the voltage change?
VO =
V
Recall Label for this Question: None
Nominal Answer: 1.5
Min/Max Value: (1.5) to (1.5)
Value Calculation: 1.500
Correct Tolerance Percent = true
Correct Minus Tolerance = 0
Correct Plus Tolerance = 0
Location: Exercise Procedure page: se3p12, Question ID: e3p12a
What temperature change is indicated by a 3.2V increase in output voltage?
T =
C
Recall Label for this Question: None
Nominal Answer: 32.0
Min/Max Value: (32) to (32)
Value Calculation: 32.000
Correct Tolerance Percent = true
Correct Minus Tolerance = 0
Correct Plus Tolerance = 0

3-215

32 Bit Microprocessor

Unit 9 Microprocessor Applications (Optional)

Location: Exercise Procedure page: se3p13, Question ID: e3p13a


What happens when you run the program?
a. The HEATER ON LED turns on.
b. The ADCIN voltage increases.
c. Both of the above.
Location: Exercise Procedure page: se3p14, Question ID: e3p14a
15. Measure the ADCIN voltage.
ADCIN =
V
Recall Label for this Question: vh
Nominal Answer: 9.0
*
Min/Max Value: (6.8) to (11.4)
Value Calculation: # vr + 4 #
Correct Tolerance Percent = true
Correct Minus Tolerance = 20
Correct Plus Tolerance = 20
Location: Exercise Procedure page: se3p16, Question ID: e3p16a
17. Calculate the difference between the voltage at room temperature and the voltage after
heating.
V = VO (after heating) VO (room temperature)
=
V
Recall Label for this Question: dv
Nominal Answer: 4.0
*
Min/Max Value: (1.274) to (7.038)
Value Calculation: # vh vr #
Correct Tolerance Percent = true
Correct Minus Tolerance = 2
Correct Plus Tolerance = 2

NOTE: Min/Max Values shown are based upon a calculation using the absolute lowest and
highest recall value. By using the actual input in your calculations, you will determine the correct
value.
3-216

32 Bit Microprocessor

Unit 9 Microprocessor Applications (Optional)

Location: Exercise Procedure page: se3p16, Question ID: e3p16c


18. Calculate the amount of temperature change during the three-minute heating period.
T = V/(0.1 V/C)
=
C
Recall Label for this Question: None
Nominal Answer: 40.0
*
Min/Max Value: (12.49) to (71.79)
Value Calculation: # dv * 10 #
Correct Tolerance Percent = true
Correct Minus Tolerance = 2
Correct Plus Tolerance = 2
Location: Exercise Procedure page: se3p20, Question ID: e3p20a
Which part of the operation represents temperature feedback?
a. switching the motor on and off
b. switching the heater on and off
c. reading the ADCIN voltage
d. All of the above.
Location: Exercise Procedure page: se3p22, Question ID: e3p22a
22. Calculate the voltage that corresponds to B4H.
V = 180 x 0.039 V/bit
=
V
Recall Label for this Question: vc1
Nominal Answer: 7.02
Min/Max Value: (6.95 ) to (7.09 )
Value Calculation: 7.020
Correct Tolerance Percent = true
Correct Minus Tolerance = 1
Correct Plus Tolerance = 1

NOTE: Min/Max Values shown are based upon a calculation using the absolute lowest and
highest recall value. By using the actual input in your calculations, you will determine the correct
value.
3-217

32 Bit Microprocessor

Unit 9 Microprocessor Applications (Optional)

Location: Exercise Procedure page: se3p23, Question ID: e3p23a


The motor is
a. stopped.
b. constantly turning.
c. cycling on and off.
Location: Exercise Procedure page: se3p23, Question ID: e3p23c
23. Observe the ADCIN value on the voltmeter. If necessary, allow the reading to stabilize for
several more seconds. Is the ADCIN voltage on the meter close to your calculated value of # vc1
#?
a. yes
b. no
REVIEW QUESTIONS
Location: Review Questions page: se3r1, Question ID: e3r1
1. The current sensitivity of the temperature transducer is 1 A/C. If the feedback resistance is
increased to 200 k, what is the op amp output voltage sensitivity?
a. 0.02 V/C
b. 0.05 V/C
c. 0.1 V/C
d. 0.2 V/C
Location: Review Questions page: se3r2, Question ID: e3r2
2. In a closed-loop temperature control application, the CPU reads 7FH as the digital value of
ADCIN. After heating, the value increases to EBH. How much did the temperature increase?
a. 22C
b. 32C
c. 42C
d. 52C
Location: Review Questions page: se3r3, Question ID: e3r3
3. What is the approximate maximum temperature difference from room temperature that this
circuit can detect?
a. 25C
b. 50C
c. 75C
d. 100C

3-218

32 Bit Microprocessor

Unit 9 Microprocessor Applications (Optional)

Location: Review Questions page: se3r4, Question ID: e3r4


4. This is a portion of the program you used to demonstrate closed-loop temperature control.
Which byte can you change to alter the temperature set point?
a. E4H at address 0400F
b. 13H at address 04010
c. B4H at address 04012
d. 00H at address 04013
Location: Review Questions page: se3r5, Question ID: e3r5
5. What would happen if the byte at 04010 were changed from 13H to 23H?
a. The set point is increased.
b. The set point is decreased.
c. The set point comparison is not performed.
d. The input value is not read from the ADC.
CMS AVAILABLE
None
FAULTS AVAILABLE
None

3-219

32 Bit Microprocessor

Unit 9 Microprocessor Applications (Optional)

UNIT TEST
Location: Unit Test Question page: sut1, Question ID: ut1
A microprocessor drives a dc motor with a square wave having a 50% duty cycle. How can the
CPU increase motor speed?
a. Increase the square wave's off-time.
b. Increase the square wave's on-time.
c. Decrease the square wave's on-time.
d. Increase the square wave's frequency.
Location: Unit Test Question page: sut2, Question ID: ut2
What hex value could be written to the DAC to apply about +1.5V to the motor? (Note: Use the
digital DAC value in the equation.)
a. 20H
b. 40H
c. C0H
d. E0H
Location: Unit Test Question page: sut3, Question ID: ut3
What is the function of the optical interrupter in the microprocessor motor control circuit shown?
a. feed back speed information to the microprocessor
b. feed back direction information to the microprocessor
c. regulate the motor speed
d. All of the above.
Location: Unit Test Question page: sut4, Question ID: ut4
In linear motor control, a microprocessor controls speed by
a. switching the motor on and off.
b. varying the duty cycle of a square wave applied to the motor.
c. reversing the polarity of the voltage applied to the motor.
d. applying an analog voltage to the motor.
Location: Unit Test Question page: sut5, Question ID: ut5
In the motor controller circuit shown in the help window (press Help), the DACOUT signal from
the microprocessor board has a 0-10V range. Op amp U5A converts the range to 3V to +3V for
what purpose?
a. to expand the range
b. to increase DAC resolution
c. to control maximum voltage and direction
d. All of the above.

3-220

32 Bit Microprocessor

Unit 9 Microprocessor Applications (Optional)

Location: Unit Test Question page: sut6, Question ID: ut6


Which DAC input value results in the slowest clockwise motor speed? (NOTE: Use digital DAC
value.)
a. 33H
b. 44H
c. AAH
d. BBH
Location: Unit Test Question page: sut7, Question ID: ut7
7. In this circuit, the current sensitivity of the temperature transducers is 1 A/C. What feedback
resistance value could you select for an op amp output voltage sensitivity of 0.05 V/C?
a. 25 k
b. 50 k
c. 100 k
d. 200 k
Location: Unit Test Question page: sut8, Question ID: ut8
In the temperature and motor controller circuits shown, what states are the heater and motor in if
the CPU writes 01H to port B?
motor
a. off
b. off
c. on
d. on

heater
off
on
off
on

Location: Unit Test Question page: sut9, Question ID: ut9


What byte can the CPU output to port B to turn on both the motor and heater?
a. 08H
b. 80H
c. 81H
d. 88H
Location: Unit Test Question page: sut10, Question ID: ut10
For closed-loop temperature control, what function does the motor controller circuit have?
a. cool the heater
b. set a reference voltage
c. feed back speed information to the CPU
d. None

3-221

32 Bit Microprocessor

Unit 9 Microprocessor Applications (Optional)

3-222

32 Bit Microprocessor

Appendix A Pretest and Posttest Questions and Answers

APPENDIX A PRETEST AND POSTTEST QUESTIONS AND ANSWERS


Depending on configurator settings, these questions may be randomized onscreen.
The pretest and posttest are the same.
1. CPU (Central Processing Unit) is another term for a(n)
a. memory chip.
b. I/O port.
c. microprocessor.
d. bus controller.
2. What type of circuit synchronizes control signals between the CPU and its support circuitry?
a. parallel port
b. bus control
c. DAC
d. ADC
3. When the 80386 CPU operates in the real mode,
a. the addressable memory space is 1 Mbyte.
b. only 20 of the 32 address lines are used.
c. any memory location can be represented by its hexadecimal five-digit physical address.
d. All of the above.
4. Which device in a microprocessor circuit accepts an analog input?
a. serial port.
b. parallel port.
c. ADC.
d. DAC.
5. An IR controller circuit manages the CPU's
a. internal registers.
b. internal ROM.
c. interrupt signals.
d. input rate.
6. Which register pair in an 80386 microprocessor always contains the address of the next
instruction that the CPU will fetch?
a. A-B
b. C-D
c. CS-IP
d. SI-DI

A-1

32 Bit Microprocessor

Appendix A Pretest and Posttest Questions and Answers

7. A group of eight bits transferred or operated on as a unit is called a


a. byte.
b. nibble.
c. word.
d. doubleword.
8. What 80386 CPU signal(s) can you use to identify all the types of bus states (T1, T2, Ti, or
wait)?
a. READY# only
b. ADS# only
c. ADS# and RDY#
d. address and data bus information.
9. What is the first thing the 80386 microprocessor does after a reset?
a. writes to the display
b. writes an instruction to address FFF FFF0H
c. fetches an instruction from FFFF FF0H
d. fetches an instruction from address 0000 000H
10. Every 80386 bus cycle begins when ADS# goes low and ends
a. when RDY# is low at the end of a T2 state.
b. when ADS# goes high.
c. after the next T2 state.
d. after the next wait state.
11. Which 80386 signal does not provide information about the type of bus cycle being
executed?
a. A/C#
b. M/IO#
c. W/R#
d. ADS#
12. What 80386 microprocessor signal can you use to distinguish a read cycle from a write
cycle?
a. M/IO#
b. D/C#
c. W/R#
d. any of these
13. Where does the information that the CPU writes to or reads from an external device appear?
a. on the address bus.
b. on the data bus.
c. at the status outputs.
d. at the control inputs.

A-2

32 Bit Microprocessor

Appendix A Pretest and Posttest Questions and Answers

14. Which group of signals does the CPU use to select the location for data to be transferred?
a. address bus
b. data bus
c. status outputs
d. control outputs
15. Which of the following would you not find on a ROM IC?
a. bidirectional data lines.
b. chip enable input.
c. output enable input.
d. address inputs.
16. Random-Access Memory (RAM) is also called
a. read-write memory.
b. read-only memory.
c. write-only memory.
d. None of the above.
17. What size group of bits can be involved in an 80386 aligned transfer?
a. byte.
b. word.
c. doubleword.
d. all of the above.
18. If 4 address bits were decoded by an address decoder, how many memory blocks could be
selected?
a. 4
b. 8
c. 16
d. 32
19. You can determine the size of each location in a memory device by the number of
a. data lines.
b. address lines.
c. control lines.
d. all of the above
20. An 80386 aligned transfer is faster than a misaligned transfer because an aligned transfer
requires
a. more data.
b. less data.
c. two bus cycles.
d. one bus cycle.

A-3

32 Bit Microprocessor

Appendix A Pretest and Posttest Questions and Answers

21. Images occur in an 80386 microprocessor's memory space when


a. RAM and ROM share some of the same address lines.
b. there are 16- and 32-bit memory areas.
c. the address bus is only partially decoded.
d. the address bus is fully decoded.
22. To output data from the 80386 CPU to an I/O device, what instruction must be used?
a. JMP
b. MOV
c. IN
d. OUT
23. A DAC is set to the 10V range and has a resolution of 0.039V. What is the output voltage
when 10H is written to the DAC?
a. 0.62V
b. 5V
c. 10V
d. 0.39V
24. When an 8-bit DAC is set to the 2.56V range, a change of 1 LSB on the input causes how
much voltage change on the output?
a. 0.100V
b. 0.256V
c. 0.010V
d. 0.0256V
25. A PPI (Programmable Peripheral Interface) can be used to process
a. interrupts.
b. digital input and output signals.
c. only digital input signals.
d. only digital output signals.
26. Data that is transferred in groups of several bits at once is called
a. grouped data.
b. serial data.
c. parallel data.
d. analog data.
27. What is the level for an RS-232C logic 1?
a. +5V to +15V
b. 0V
c. 5V
d. -5V to -15V

A-4

32 Bit Microprocessor

Appendix A Pretest and Posttest Questions and Answers

28. A serial port is used to


a. transmit serial data.
b. receive serial data.
c. transmit and receive parallel data.
d. transmit and receive serial data.
29. The 80386 CPU recognizes an external maskable interrupt
a. any time the CPU receives an INTR signal.
b. only when the IF flag is set.
c. only when the OF flag is set.
d. only when a software interrupt instruction is executed.
30. When a non-maskable interrupt occurs, the 80386 CPU uses a vector type number
a. of 02.
b. that is part of the interrupt instruction.
c. that is taken from the stack.
d. from anywhere in the range 00-FFH.
31. Which register's contents are not automatically pushed onto the stack when an 80386
interrupt occurs?
a. code segment.
b. stack pointer.
c. instruction pointer.
d. flags register.
32. When a return instruction occurs at the end of an interrupt service routine, the 80386 CPU
executes the next instruction
a. after the point at which the interrupt occurred.
b. at the beginning of the program.
c. at the beginning of the service routine.
d. at the top of the stack.
33. You can disable the 80386 CPU's recognition of maskable interrupts by
a. setting the IF bit in the flags register.
b. clearing the IF bit in the flags register.
c. changing command word ICW1.
d. changing command word ICW2.
34. Which 80386 software interrupt instruction can you use to simulate any other exception or
hardware interrupt?
a. INTn
b. INT0
c. INT3
d. all of the above

A-5

32 Bit Microprocessor

Appendix A Pretest and Posttest Questions and Answers

35. When an interrupt occurs, the 80386 CPU saves its place in the main program by
a. popping the CS, IP, and FLG register contents from the stack.
b. pushing the CS, IP, and FLG register contents to the stack.
c. jumping to an interrupt service routine.
d. saving status information in a register.
36. How can you determine the address at which the 80386 NMI vector is located?
a. The type of number is the same as the address.
b. Divide the type number by 4.
c. Multiply the type number by 4.
d. none of the above.
37. What is a memory segment?
a. the contents of one of the segment registers.
b. the location in memory for the next instruction.
c. the data stored in the general-purpose registers.
d. an independent region in memory space that can be assigned a specific type of data.
38. Where are the 80386 instruction pointer, segment, general-purpose, and flags registers
located?
a. in the CPU
b. it depends on the application program
c. in RAM.
d. The instruction pointer, general-purpose, and flags registers are in the CPU, and the
segment register is in RAM.
39. For 16-bit and 32-bit addressing, what values can the 80836 use to compose an effective
address (EA)?
a. code and data segment selector values
b. displacement, base, and index values
c. segment selector and offset values
d. instruction pointer and code segment selector values
40. For 32-bit addressing, the base value is in what 80386 register(s)?
a. any 32-bit general purpose register.
b. any 32-bit general purpose register except ESP.
c. BX or BP.
d. SI or DI.
41. Which 80386 addressing mode can be used only for 32-bit addressing?
a. based index with displacement.
b. based index.
c. register indirect.
d. based scaled index.

A-6

32 Bit Microprocessor

Appendix A Pretest and Posttest Questions and Answers

42. What is the purpose of the 80386 CPU addressing modes?


a. They specify the op code field of the instruction.
b. They determine the address size of the segments.
c. They specify the destination of the operand.
d. They locate an operand.
43. What determines the physical address of the next instruction for the 80386 CPU?
a. the data segment's base address and the EA.
b. the code segment's base address and the offset in the EIP register.
c. the addressing mode specified in the instruction code.
d. the data in the EFLAGS register.
44. For 32-bit 80386 addressing using a scaled index, what values can the scale factor have?
a. 4, 8, or 16
b. 1, 2, 4, or 8
c. 0, 8, or 32
d. 0, 1, 3, or 4
45. What does the 80386 instruction CMP DL,[BX] cause the CPU to do?
a. compare the data in a memory address (offset in the BX register) with the test data
in the DL register.
b. compare the values in the BX and DL registers.
c. copy the value in the BX register to the DL register.
d. write the data in a memory address (offset in the BX register) to the DL register.
46. When is it necessary to include an s-i-b byte in an 80386 instruction code?
a. with 32-bit addresses.
b. with 32-bit operands.
c. with the memory addressing modes.
d. with scaling factors in the effective address calculation.
47. In the 80386 real mode, what does the physical address of the next instruction code equal?
a. the IP register's offset plus the CS register's selector value
b. the FLAGS register's offset status value plus the value in the AX register
c. the AX register's value plus the CS register's selector value shifted 4 bits to the left
d. the IP register's offset value plus the CS register's selector value shifted 4 bits to the
left
48. In the 80386 real mode, what instruction code hexadecimal prefix must you use when
applying a scaled index in the EA calculation?
a. 66-operand size prefix.
b. 67-address size prefix.
c. 2E-CS alternate segment prefix.
d. 36-SS alternate segment prefix.

A-7

32 Bit Microprocessor

Appendix A Pretest and Posttest Questions and Answers

49. When an 80386 addressing mode uses a scale factor, how many bits must be in the address?
a. 8
b. 16
c. 32
d. any of the above
50. What does the 80386 instruction JNZ 400BH cause the CPU to do?
a. move to the next instruction if the value in the DL register is not 00H.
b. cause a jump to address 0400B if the ZF flag bit is not 0.
c. cause a jump to address 0400B if the value in the DL register is 00H.
d. reset the data in address 0400B to 00H.

A-8

32 Bit Microprocessor

Appendix B Faults and Circuit Modifications (CMs)

APPENDIX B FAULTS AND CIRCUIT MODIFICATIONS (CMS)


CM

FAULT

ACTION

SCHEMATIC
SWITCH NO.
S21

S22

S23

S25

S28

30

10

31

11

32

12

18

18

12

12

13

13

14

14

15

15

opens W/R path from


CPU (80386)
opens ADS path
from CPU (80386)
opens STRB path
from PPI (82C55)
shorts RAMS# to
ground through 39
shorts BS16 to
ground through 39
shorts MRDC# to
VCC through 39
shorts RDY# to VCC
through 39
shorts CLK to VCC
through 39
shorts KPD to
ground through 39
shorts INTA# to
ground through 39
shorts U35 CS2 ) pin
26 to ground through
39
Shorts CMSEL# to
ground through 39
opens A18 to the
memory decoder
PLD
opens D20 between
CPU and RAM
Opens A9 to low
byte monitor ROM
U37, Pin 24

B-1

32 Bit Microprocessor

Appendix B Faults and Circuit Modifications (CMs)

B-2

Semiconductor Fundamentals

Appendix C Board and Courseware Troubleshooting

APPENDIX C BOARD AND COURSEWARE TROUBLESHOOTING


Circuit Board Problems
The F.A.C.E.T. equipment is carefully designed, manufactured, and tested to assure long,
reliable life. If you suspect a genuine failure in the equipment, the following steps should be
followed to trace a problem.
A. ALWAYS insert the board into a base unit before attempting to use an ohmmeter for
troubleshooting. The schematic diagrams imprinted on the boards are modified by the
absence of base unit switch connections; therefore, ohmmeter checks will produce erroneous
results with disconnected boards. Do not apply power to the base unit when you perform
resistance checks.
B. Information describing fault switch functions is provided in Appendix B in this instructor
guide.
Courseware Problems
The F.A.C.E.T. courseware has been written to meet carefully selected objectives. All exercises
have been tested for accuracy, and information presented in discussions has been reviewed for
technical content. Tolerances have been computed for all procedure and review question answers
to assure that responses are not invalidated by component or instrument errors.
Nevertheless, you or your students may discover mistakes or experience difficulty in using our
publications. We appreciate your comments and assure you that we will weigh them carefully in
our ongoing product improvement efforts.
As we address courseware problems, we will post corrections for download from our web site,
www.labvolt.com. Select the customer support tab, and then choose product line: FACET. Select
a course, select from a list of symptoms that have been addressed, and follow the instructions.

C-1

Semiconductor Fundamentals

Appendix C Board and Courseware Troubleshooting

We will do our best to help you resolve problems if you call the number below. However, for
best results, and to avoid confusion, we prefer that you write with a description of the problem.
If you write, please include the following information:

Your name, title, mailing address, and telephone number (please include the best time to
reach you).
Publication title and number.
Page number(s), and step and/or figure number(s) of affected material.
Complete description of the problem encountered and any additional information that may
help us solve the problem.

Send your courseware comments to:


techsupport@labvolt.com
Lab-Volt Systems
P.O. Box 686
Farmingdale, NJ 07727
ATTN: Technical Support
If you prefer to telephone regarding hardware or courseware problems, call us between 9:00 AM
and 4:30 PM (Eastern time) at: (800) 522-4436 or (888)-LAB-VOLT.

C-2

THIS

THIS

Cut out individual binder spine labels from this page and insert them into the spine of the appropriate guides.

Binder Spine Labels

32-Bit Microprocessor

Instructor Guide

32-Bit Microprocessor

Instructor Guide

32-Bit Microprocessor

Instructor Guide

You might also like