EC2840 Introduction to Microprocessors

An introduction to the organization and operation of microprocessing and microcomputers, both key embedded elements of military systems. Topics include: the instruction set, addressing methods, data types and number systems, stack and register organization, exception processing, assembly language programming techniques including macros, assembly language implementation of typical control structures, data structures, and subroutine linkage methods. Laboratory sessions teach a systematic method for program design and implementation. The laboratory assignments consist of a series of programs which collectively implement a major software project.

Prerequisite

Knowledge of a high level programming language.

Lecture Hours

3

Lab Hours

2

Course Learning Outcomes

·       The student will learn how to convert numbers represented in one radix (base) to another radix, including hexadecimal, decimal, octal, and binary.

·       The student will learn how to convert a specification for a simple computer program into an assembly language program.

·       Given an application requiring a stack, the student will be able to design an assembly language program that implements the application, including the stack data structure and procedures for putting data into the stack and taking data out of the stack.

·       Given an application requiring a procedure, the student will be able to design an assembly language program involving a procedure that implements the call, the return, and parameter passing.

·       The student shall be familiar with typical data structures used in assembly language programming, including a linear array, a queue, a linked list, and a tree, and the student will be able to design an assembly language program that implements these data structures.

·       Given an application requiring sorting, the student will choose a sorting algorithm suitable for the application and will be able to implement an assembly language program using the chosen sorting algorithm.

·       Given an application that requires I/O processing, the student will be able to write assembly language code to do the required I/O processing.

·       The student will have an understanding of exception and interrupt handling in an assembly language program.