Download 3460:306 Assembly and System Programming

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Programming language wikipedia , lookup

Object-oriented programming wikipedia , lookup

Structured programming wikipedia , lookup

Stream processing wikipedia , lookup

Reactive programming wikipedia , lookup

Falcon (programming language) wikipedia , lookup

Abstraction (computer science) wikipedia , lookup

Go (programming language) wikipedia , lookup

C Sharp (programming language) wikipedia , lookup

Assembly language wikipedia , lookup

Transcript
Course Number:
Course Name:
Course Credits:
Schedule:
3460:306
Assembly Language Programming
4 credits
Fall, Summer
Syllabus Date:
Prepared By:
Fall 2006
Dr. Tim Margush
Prerequisites:
3460:210 Data Structures and Algorithms I
Text:
Online Resources
Bulletin Description:
This is an introduction to assembly language programming and basic computer organization
using an AVR 8-bit RISC microcontroller. The student will learn the basics of assembly
language, data representation and machine organization.
Detailed Description:
The student will explore common instructions, I/O, register use, addressing modes, procedures,
stack usage, stack frames for parameters and local variables, string processing, linking to C, the
macro facility, and an introduction to hardware concepts.
Course Goals:
The successful student will be able to construct C and assembly modules of moderate difficulty
to perform computations and interface with simple hardware devices.
Topics:
1. Introduction to assembly language
2. Numeration systems, Boolean concepts
3. The AVR Microcontroller
4. Basic AVR Assembly language concepts
5. Data representation
6. Memory access and system startup
7. Functions and stack usage
8. Serial communication
9. Arithmetic and logical operations
10. Implementing high-level control structures
11. Interrupts
12. C programming for the AVR
Computer Usage:
Typically 6-7 programming assignments in AVR assembly language.
References:
Atmel (www.atmel.com)
AVR Instruction Set (http://www.atmel.com/dyn/resources/prod_documents/doc0856.pdf )
ATMega16 Specifications
(http://www.atmel.com/dyn/resources/prod_documents/doc2466.pdf )
AVR Freaks (http://www.avrfreaks.net )