CSE 225 : Assembly Language Programming
Lectures, Arizona State University, 2015
Assembly language programming, including input/output programming and exception/interrupt handling. Register-level computer organization, I/O interfaces, assemblers, and linkers. Motorola-based assignments.
Pre-reqs
The official prerequisite is CSE 100 (or 110 or 200) and CSE120/EEE120 Digital design fundamentals. By topics I expect you have
- Programming skill in a high-level language (C, C++, Java or Pascal), including arrays and indexing, looping, data types, record structures, procedures, conditional and case (switch) branching.
- Binary, octal, hexadecimal, ASCII data representations.
- Two’s-complement arithmetic.
- Introductory Boolean logic and minimization techniques.
- Building blocks of digital circuits, AND, OR, NOT, XOR gates, full adder, multiplexor, and decoder.
Syllabus
- Computer organization and architecture: 3 weeks (three lecture hours per week)
- Addressing modes and program examples using different addressing modes: 2 weeks
- Instruction set and program examples using different instructions in different addressing modes: 2 weeks
- System Development Process, 1.5 weeks
- Subroutines, parameter passing and stack, 1.5 weeks
- Peripheral Programming, 2 weeks
- Interrupts and exceptions, 2 weeks