Maricopa Community Colleges  CSC225   19916-19956 
Official Course Description: MCCCD Approval: 03/26/91
CSC225 19916-19956 L+L 3 Credit(s) 5 Period(s)
Assembly Language Programming (Macintosh)
Assembly language programming, register level computer organization, data structure and addressing modes, assemblers, linkers. Macintosh-based assignments. Prerequisites: CSC120 and (CSC100 or ECE105 or high level language programming skills) and (BPC101AB or equivalent), or permission of instructor.
Go to Competencies    Go to Outline
 
MCCCD Official Course Competencies:
 
CSC225   19916-19956 Assembly Language Programming (Macintosh)
1. Use all registers in assembly language programs. (I)
2. Determine appropriate registers to use with specific assembly language commands. (I)
3. Describe basic computer organization, including memory layout and data storage. (I)
4. Use addressing modes to move information. (II)
5. Manipulate data to perform computations. (III)
6. Use conditional and unconditional branches and flags. (IV)
7. Write and call procedures with parameter passing. (V)
8. Use macros to efficiently write program sequences. (VI)
9. Use input/output interrupts. (VII)
Go to Description    Go to top of Competencies
 
MCCCD Official Course Outline:
 
CSC225   19916-19956 Assembly Language Programming (Macintosh)
    I. Computer organization
        A. Memory sizes and layout
        B. Data elements and size
        C. Register set organization, PC, IR
      II. Addressing modes
          A. Direct
          B. Indexed; application to arrays
          C. Base/displacement; application to records
        III. Data manipulation instructions and applications
            A. Data movement
            B. Arithmetic/logical
            C. Character manipulation
          IV. Control flow instructions and applications
              A. Unconditional and conditional branches; flags
                1. Application to loops
                2. If-then-else
              B. Indexed jumps and indirect branches; case branching
            V. Procedure calls and parameter passing
                A. Call; return
                B. Register; stack; parameter blocks
                C. Pointers; indirection
                D. External procedures; linking
              VI. Macros
                  A. Internal macros, external libraries
                  B. Conditional assembly
                VII. Introductory input/output
                    A. Hardware interrupts
                    B. Software interrupts
                Go to Description    Go to top of Competencies    Go to top of Outline