El Camino College - Division of Mathematical Sciences

CSCI 15P
Assembly Language Programming for the IBM PC and Compatibles
4 units; 3 hours lecture, 3 hours lab

Catalog Description Course Objectives and Methods of Evaluation
Outline of Subject Matter Planned Instructional Activities

Grading Method: Letter

Associate Degree Credit --- Transfers to CSU and Transfers to UC

Prerequisite: Computer Science 1 or Computer Science 5 or Computer Science 10 or Computer Information Systems 80 with a minimum grade of C in prerequisite; Mathematics 180 with a minimum grade of C or equivalent or concurrent enrollment.

Catalog Description:
This course includes detailed coverage of Assembly Language programming, based on the IBM compatible personal computer. Topics include hexadecimal arithmetic, two's complement arithmetic, memory organization, addressing modes, procedure calls, the stack-frame, macros, calling assembly language procedures from Pascal or C/C++, recursion, BIOS and DOS interrupts, the floating point unit and instructions, and the debugger.

Course Objectives and Methods of Evaluation:

  1. Course objectives (list the major objectives stated as student outcomes in behaviorally measurable terms.)
    1. Perform two's complement arithmetic.
    2. Write programs that correctly use the addressing modes.
    3. Use the following classes of processor instructions:
          a.   Signed and unsigned arithmetic
          b.   Data transfer
          c.   Comparison
          d.   Conditional transfer
          e.   Unconditional transfer
          f.    Flag testing
          g.   Loop
          h.   Stack operations
          i.    String
          j.    Type conversion
          k.   Bit operations
    4. Write program code containing procedures callable within the same file.
    5. Write procedures external to the main file and that are callable by the main procedure.
    6. Write procedures that are callable from either Pascal or C/C++ programs.
    7. Use the stack, especially during recursive procedure calls.
    8. Write well-organized Macros.
    9. Invoke BIOS and DOS operating-system interrupts.
    10. Use the Microsoft Debugger.
    11. Write at least eight assembly language programs.
  1. Methods of Evaluation - Associate Degree Credit Course
    1. Substantial writing assignments are inappropriate for this degree applicable course because:
      1. The course primarily involves skill demonstrations or problem solving.
    2. Computational or non-computational problem-solving demonstrations, including:
      1. Exam
      2. Laboratory reports
      3. Quizzes
      4. Homework Problems
      5. Write computer programs

Return to the top of the page.

Outline of Subject Matter

Approximate Time

Major Topic

6 hours

Introduction to assembly language, hex arithmetic, two's complement. IBM PC assembly language program structure, arithmetic instructions, data movement, input/output macros.

12 hours

Control and looping instructions.

15 hours

Arrays, pointers, addressing modes.

15 hours

The stack and procedure calls. Call by value and call by address.

12 hours

Bit instructions, string instructions, tables, System calls.

6 hours

Records and arrays of records, sorting.

6 hours

Files.

12 hours

Calling assembly language procedures from Pascal and/or C/C++.

12 hours

Recursion and the stack, a non-trivial use of recursion (e.g., directory scanning)..

6 hours

The floating-point unit and its instruction set.

  6 hours

Examinations

Total:

108 Hours

Return to the top of the page.

Planned Instructional Activities:

Lecture and computer laboratory instruction.

Entrance Skills and Knowledge:

List the required skills and/or knowledge without which a student would be highly unlikely to receive a grade of A, B, C, or Credit (or for Health and Safety, would endanger self or others ) in the Target Course.

  1. Manipulate algebraic expressions at the Pre-Calculus level.
  2. Solve application problems at the Pre-Calculus level.
  3. Evaluate and perform operations on functions at the Pre-Calculus level.
  4. Write computer code expressing mathematical expressions.
  5. Write computer code implementing functions or procedures.
  6. Write computer code implementing arrays.
Return to the top of the page.
 
Source of information: Course Outline of Record dated October, 1999


 Last Updated On: 4/20/06