Yan Luo
    Font size:      

Course Syllabus of 16.317 Microprocessor I (Spring 2007)


Basic Information

This three credit course provides an introduction to microprocessors. It uses assembly language to develop a foundation on the hardware, which executes a program. Memory and I/O interface design and programming. Study of microprocessor and its basic support components, including CPU architecture, memory interfaces and management, coprocessor interfaces, bus concepts, serial I/O devices, and interrupt control devices. Laboratories directly related to microprocessor functions and its interfaces.

Prerequisite: 16.265 Introduction to Logic Design and 16.365 Electronics I. All students enrolled in 16.317 Microprocessors Systems Design I are required to have completed 16.265 Logic Design I before enrolling. It is the student who is responsible for any adverse results such as being administratively withdrawn from the class or being ineligible for tuition refund due to the enforcement of this prerequisite.

Instructor: Prof. Yan Luo

Office Loation: BL 413

Office Hours: WF 9:30am-11am

Phone: (978) 934-2592

Email: Yan_Luo@uml.edu

Class time: MWF 12:30pm-1:20pm

Class location: Ball 326

Lab time: Open Lab

Lab location: BL 407


TA Office hours:

Course homepage: http://faculty.uml.edu/yluo/Teaching/MicroprocessorI

Course mailing list: http://groups.google.com/group/uml16317s07

Course structure

There are three 50-minute lectures each week. There is also a laboratory component of five labs including both assembly language programming and hardware interfacing. Five homeworks will be assigned, three out of which will be graded. Examinations consist of two 50-minute exams and a final.

Service Learning

Students in this course participate in Service-Learning of the College of Engineering. Some of the projects are oriented to find effective solutions to the real-world problems for the community.


Walter Tribel, "The 80386, 80486, and Pentium Processors: Hardware, Software, and Interfacing", Prentice Hall, 1998, ISBN #0-13-533225-7.

References: Myke Predko, "Programming and Customizing PICmicro Microcontrollers" 2nd Ed, McGrawHill, 2002, ISBN 0-07-136172-1

Course Objectives

The following objectives are to be met by students after completion of the course. They are also the guideline of exams.

  1. Microprocessors and Microcomputers - Chapter 1.
    • Describe evolution of reprogrammable computer systems.
    • Describe general architecture of a microcomputer system
    • Describe Intel microprocessors, benchmarking
  2. Real-Mode Software Architecture of the 80386DX Microprocessors - Chapter 2.
    • Describe the internal architecture of 80386DX.
    • Describe real-mode software architecture.
    • Describe real-mode memory space and data organization.
    • Draw data alignment in memory.
    • Convert 2's complement integer format among hexadecimal, decimal and binary.
    • State the generation of a real-mode memory address.
    • State the operation of stack.
    • Describe real-mode I/O address space.
  3. Real-Mode Assembly Language Programming Methodology - Chapter 3.
    • Describe the concept of software.
    • Describe the steps of assembly language program development.
    • Describe the evolution of 8086 family instruction set.
    • Describe the addressing modes of 80386DX.
  4. Assembly Language Coding and Debugging - Chapter 4.
    • Convert assembly language instructions to machine code.
    • Use "DEBUG" program to debug.
  5. Real-mode 80386DX Programming I - Chapter 5.
    • Use data transfer instructions.
    • Use arithmatic instructions.
    • Use logic instructions.
    • Use shift instructions.
    • Use rotate instructions.
    • Use bit test and bit scan instructions.
  6. Real-mode 80386DX Programming II - Chapter 6.
    • Use flag-control instructions.
    • Use compare and set instructions.
    • Use jump instructions.
    • Use subroutine instructions.
    • Use loop instructions.
    • Use string instructions.
  7. Program Development with MS-MASM - Chapter 7. (Not covered in class)
    • Describe statement syntax.
    • State pseudo operations.
  8. Protected-mode Software Architecture of 80386DX - Chapter 8.
    • Describe protected-mode register model.
    • Describe protected-mode memory management and address translation.
    • State descriptor and page table entries.
    • State multitasking and protection.
  9. Memory and I/O Interfaces of the 80386DX Microprocessors - Chapters 9.
    • Describe system clock and bus cycles.
    • Construct hardware organization of memory address space.
    • Describe memory interface circuitry
    • State types of I/O.
  10. Memory Devices, Circuits and Subsystem Design - Chapter 10.
    • Describe program and data-storage memory.
    • Explain read only memory (ROM).
    • State random access memory (RAM).
    • Describe parity checking and related circuit.
  11. PIC Microcontroller
    • Understand the differences between microcontroller and microprocessor
    • State the instruction and data memory organization
    • Know the instruction set of PIC
    • Be able to program the PIC to complete a specific task
    • Know how to inteface PIC to peripheral circuits
    • Design and debug microcontroller based circuits


Five labs will be conducted and evaluated including both assembly language programming and hardware interfacing. Please check back for the posting of detailed lab specifications.


  1. All experiments in this course should be done in groups of two people or less. Once a group is formed, member change is NOT allowed without the approval of the instructor.
  2. Each member in a group has to turn-in his/her own report. NO copying is allowed. Punishments for violating this rule (including those being copied) are listed below:
    • Report: No credit for the experiment.
    • Course: The letter course grade will be reduced by two levels. For example, "A" will be reduced to "B", "B-" to "C-".
  3. Reports are due by 12:30pm of the due date. There is a grace period of 48 hours. No report will be accepted after the grace period.
  4. Grace period is NOT automatic. Grace period can only be used for emergency cases. Doctors' notes or other documents may be required by the Instructor.
  5. All labs must be checked off by the TA unless noted otherwise.

Laboratory grade will make up 30% of the course grade.

Report format: Your report needs to follow the format below.

  1. Cover page including Lab number and title, Student Name, Partner's Name, and Date of report
  2. Lab Purpose: It is usually the objective of the lab.
  3. Lab Content: Answer the questions in lab specification. Describe what you do in the lab, e.g. what commands did you practiced. It has to be at least one page with 11pt font size. Try to organize and summarize the lab in itemized lists.
  4. Difficulties:state what difficulties you encountered in the lab and how you managed to solve it. If not, what have you tried?
  5. Conclusion and Suggestions

Lab assignments: To be posted on schedule page


Five homeworks will be assigned. Please check back for postings on the schedule webpage.

Course Grade

The distribution of experiment grades and examination grades are given below.

Components Percentage
Laboratory 1 through 4 5% each
Laboratory 5 10%
5 Homeworks 2% each
Examination 1, 2 and final 15%, 15%, 30% respectively
Total 100%

A minimum standard of 60% in the combined experiment, homework and examination grades is used as a measure for the passing (getting a "D") of the course. Assignments of course (letter) grades other than "F" depend on class distributions, which usually start with a minimum of 90% for "A".

Course Schedule

Tentative course schedule is HERE.