CPE 307
Assembly Language Programming
2
Course Description
Upon successful completion of this course, the student will be able to:
(Knowledge Based)
1. understand basic assembly language syntax;
2. identify and use different 8086 addressing modes;
3. create and use a stack to store data, addresses, or both; and
4. highlight and know the uses of the different 8086 instruction groups.
(Skills)
1. development of general programming skills; and
2. be able to run assembly language code.
Course Outline
Introduction: Language level of abstraction and effect on machine, characteristics of
machine code, advantages, justifications of machine code programming, instruction set and
dependency on underlying processor; Intel 8086 microprocessor assembly language
programming: programming model as resources available to programmer, addressing
modes, instruction format, instruction set- arithmetic, logical, string, branching, programme
control, machine control, and input/output, etc; assembler directives, hand-assembling,
additional 80x86/Pentium instructions; modular programming; interrupt and service routine;
interfacing of assembly language to C; Intel 80x87 floating point programming; introduction
to MMX and SSE programming; Motorola 680x0 assembly language programming; extensive
practical engineering problems solving in assembly language using MASM for Intel, and
cross-assembler for Motorola.