Course Outline

  1. Introduction
    1. Discussion of contemporary computer architectures
    2. Evolution of computer languages
    3. Reasons to study assembly language programming
  2. Review of Numbers
    1. Integer Base Conversion
      1. Base x to decimal
      2. Decimal to base x
    2. Fraction Base Conversion
      1. Base x to decimal
      2. Decimal to base x
    3. Notations and Conversions
      1. Hexadecimal and binary
      2. Octal and binary
      3. Base xi and base x
      4. Operations
        1. Addition
        2. Subtraction
        3. ANDing
        4. Oring
        5. XORing
      5. Binary Arithmetic operations
        1. Addition
        2. Subtraction
        3. Sign magnitude
        4. 1's complement notation
        5. 2's complement notation
  3. Introduction to a computer with the IPO Introduction to the architecture and the Assembly language
    1. General concepts
      1. Main memory
      2. Byte-forward and byte-backward representations
      3. Central processing unit
      4. Machine instruction format
    2. Fetch-execute cycle
    3. Integer instructions
      1. Symbols and allocation of storage
      2. Data move instructions
      3. Arithmetic instructions
      4. Constant operands
      5. Input and output
      6. Program creation, assembly, linking, and execution
  4. Repetition and selection structures
    1. Branch instructions
      1. Conditional branching
      2. Unconditional branching
    2. Pretest logical loops
    3. Selection structures
    4. Counter-controlled loops
    5. Other looping structures
    6. Compound conditions
  5. Debugger
  6. Integer data types
    1. Directives
    2. Move and arithmetic instructions
    3. Test, compare, and looping instructions
    4. Size conversion instructions
  7. Operand expressions
    1. Constants of nondecimal bases
    2. Direct assignment statements
  8. Arrays and indexing
    1. Indexing
    2. Matrices
  9. Indirect addressing
  10. Character manipulation
    1. Character codes and character data
    2. Character manipulation
      1. Sorting
      2. Finding words
      3. Finding substrings
  11. Subprograms
    1. Stack operations
    2. Simple subprograms
    3. Passing parameters
  12. Floating-point and decimal instructions
Revised 2012