CSEE,
UMBC
[Home][Research][Courses]
Course Information:
Course Name: CMPE310: Systems Design and Programming
Instructor: Reza M. Rad
Office Hours: Tu-Th 5:30-6:30pm or by appointment, Office: ITE374
Teaching Assistant:
Ryan Helinski
- Office Hours: Mon-Wed 10:00-11:00 AM
- Office: Room ITE349
- Email: rhelins1@umbc.edu
- Web: Check for help on projects
Announcements:
Please Check Frequently for Information on Projects, Homewroks etc.
Calss lacation moved back to ACIV 013
Lab discussions class moved: 10:00-11:50 ITE375
Project #1 is now posted. See the project description below.
Please review the GDB tutorial.
We will have a quick overview of it on lab discussion and there will be a quiz on that, Friday Feb 15th.
Project #2 is now posted. See the project description below.
Quiz2 will cover the lectures we had on introduction to 8086 architecture, registers and chipset and also the lab lecture on arithmetic, logic control instructions.
MidTerm Exam : Thursday March 13th
Project #3 is now posted. See the project description below.
Find some sample questions here.
Project #4 (board design project)is posted. Find the project description below.
Quiz #3 on Friday April 18th, covers 8255 (PPI) and 8254 (timer), 8279 (keyboard and display controller) .
ABET SURVEY: Please fill out the survey forms before May 14th.
See a short description for 8086 emulator board programming project (Project5) below.
Sample questions for final exam.
Lectures:
Course Syllabus
Introduction
Introduction to 80x86 Architecture
Registers in 80x86
80x86 Chipset
Memory I
Memory II
Memory III
Memory IV
Basic IO: 82C55 PPI
82C55 datasheet
Basic IO: 8279 / 8254, 8254 Datasheet
Basic IO: 16550/ Serial and Parallel Ports /ADC and DAC
Interrupts
Mass Storage, Video, DMA
Bus Interface
OS Essentials
Protected Mode Addressing
Paging and Segmentation
Labs:
Assebly Basics / Addressing Modes
NASM
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
How the stack works if you've assembled with NASM and loaded with LD
Reference
Instructions on using Submit
8086 Instructions
Example Source Codes:
Hello World! (hello.asm)
Useful Macros (mine.inc)
Convert user input to upper case (toupper.asm)
GDB demo for toupper.asm (toupper.txt)
Using printf for integers
Getting command line arguments when using GCC
Using printf for floats
Project Links:
Link to alldatasheet.com
OrCad demo version
Local copy of Data Sheets for your project
Capture CIS Tutorial
Layout Plus Tutorial
PCB Footprints
Custom Footprint Libraries: 8086_FOOTPRINTS.LLB and HEADER.LLB
Introduction to 8086 Trainer Programming Board
Assignments:
Homework: (Due date: 03/04/08)
Chapter 3: Problems 21, 27, 33
Chapter 4: Problems 19, 20, 23, 32, 45
Chapter 5: Problems 22, 23, 36, 38
Project #1:
Performing checksum operation on a string of input data, Due date: 19/02/08
Project #2:
File IO and sort and merge on Integers, Due date: 03/04/08
Project #3:
Low Pass Filter, Floating point operations, Due date: 04/01/08
Project #4:
Board Design Project , Due date: 04/25/08
Class Assignment #1:
A Digital Clock , Due date: 04/11/08
Project #5:
Programing parralel ports of the 8086 emulator board , Due date: 05/13/08
Instructions on submitting assignments
For each lab submission, completely fill out and include the cover page:
DOC or
PDF
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 hand in your hardcopy when you walk into your class (or don't submit the softcopy before coming to class) you have a late submission.
Weekends will be considered as late days.
Acknowledgement:
I would like to acknowledge Dr. Patel for giving me the permission to use his course materials and slides for this course.
[Home][Research][Courses]
UMBC /
CSEE