CMPE 310: Systems Design and Programming

CMPE 310: Systems Design and Programming
Section 01
Spring 2014

Instructor: Chintan Patel
Office: ITE 322
Office Hours: Mon & Wed, 11:00 AM - 12:30 PM or by appointment

Teaching Assistants and Office Hours:
Rebecca Baldwin: Tue and Thrs, 11:00 AM - 1:00 PM, ITE 375
Thomas Fitzgerald : Mon, 11:00 AM - 2:00 PM, ITE 375
Gurashish Singh : Wed, 11:30 AM - 2:30 PM, ITE 375

Meeting Time and Location: Mon & Wed, ITE 239, 2:30 - 3:45 PM
Lab Discussion: Fri, ITE 231, 1:00 - 2:50 PM
Lab Section 01: Fri, ITE 375, 3:00 - 3:50 PM

Check regularly for important class information

 Jan 27: Syllabus Posted.

Course Material
 Spring 2014 Syllabus

 Lecture 1: Introduction

 Lecture 2: 80x86 Architecture

 Lecture 3: 80x86 Register Architecture

 Lecture 4: 80x86 Chipset

 Lecture 5: Memory I

 Lecture 6: Memory II

 Lecture 7: Memory III

 Lecture 8: Memory IV

 Lecture 9: Basic IO: 82C55 PPI

  • Intel 8255 datasheet

 Lecture 10: Basic IO: 8279 / 8254

End of Midterm Exam Material

 Lecture 11: Basic IO: 16550/ Serial and Parallel Ports/ ADC and DAC

 Lecture 12: Interrupts

  • Intel 8259 datasheet

 Lecture 13: Mass Storage, Video and DMA

 Lecture 14: Bus Interface

 Lecture 15: OS Essentials

 Lecture 16: Protected Mode Addressing

 Lecture 17: Paging and Segmentation

End of Course Material

Lab Slides
 Assembly Basics / Addressing Modes


 Arithmetic, Logic and Control Instructions

 Data Movement Instructions

 Stack Basics and Procedure Calls

 Floating Point Coprocessor Instructions

Assembly and Project Help
 NASM documentation

 Compiling using GCC and LD

 Using GDB for debugging assembly language

 Linux System Calls

 Official Intel Instruction Set Reference

 Instructions on using Submit

 8086 Instructions

 Example Source codes

 8086 Board Project Links

 Instructions on submitting assignments
  • Completely fill out and include the cover page (doc or pdf) with each lab submission. Labs will not be accepted without the cover sheet
  • Late submission penalty is 20% lab grade per day late
  • The definition for a late lab is if you don't submit the softcopy/report by midnigth on the due date you have a late submission.
  • Weekends will be considered as late days.

 Lab Assignment 1: Due Monday Feb 28: Hamming Distance

 Lab Assignment 2: Due Friday Mar 7: Processing Integers

 Lab Assignment 3: Due Friday Mar 28: Constructing Floats

 8086 Board Design Project: Due Friday Apr 25: 8086 Board Design

 UMBC 8086 Trainer Programming: Due Last Day of classes: UMBC 8086 Trainer Programming