Lesson Objectives:

  • LO 1 Review computer fundamentals necessary to contextualize Assembly. (Proficiency Level: B)

    • MSB 1.1 Describe the specifics of x86 architecture. (Proficiency Level: B)
    • MSB 1.2 Describe the specifics of x86_64 architecture. (Proficiency Level: B)
    • MSB 1.3 Differentiate data sizes and their prefixes in computer soft- and hard-ware (Proficiency Level: B)
  • LO 2 Understand underlying structure and methodology for working with Assembly. (Proficiency Level: B)

    • MSB 2.1 Identify an operand as part of an instruction in Assembly (Proficiency Level: B)
    • MSB 2.2 Understand the purpose of an assembler (Proficiency Level: B)
    • MSB 2.3 Understand the implications of the term 'endianness' to data (Proficiency Level: B)
    • MSB 2.4 Identify and describe 64 bit registers (Proficiency Level: B)
    • MSB 2.5 Identify and describe 32 bit registers (Proficiency Level: B)
    • MSB 2.6 Identify and describe the lower 16 bit registers (Proficiency Level: B)
    • MSB 2.7 Identify and describe the 'high' 8-bit registers (Proficiency Level: B)
    • MSB 2.8 Identify and describe the 'low' 8-bit registers (Proficiency Level: B)
    • MSB 2.9 With required resources, describe the purpose and use of the NASM assembler (Proficiency Level: B)
    • MSB 2.10 Understand the implementation of opcodes in Assembly (Proficiency Level: B)
    • MSB 2.11 Understand how the assembler works (Proficiency Level: B)
    • MSB 2.12 Identify differences across assemblers (Proficiency Level: B)
  • LO 3 Differentiate data types and registers in Assembly. (Proficiency Level: B)

    • MSB 3.1 Identify the purpose of movzx in Assembly. (Proficiency Level: B)
    • MSB 3.2 Identify the purpose of xchg in Assembly. (Proficiency Level: B)
    • MSB 3.3 Identify unique characteristics of registers in Assembly. (Proficiency Level: B)
    • MSB 3.4 Identify different data types in Assembly. (Proficiency Level: B)
  • LO 4 Describe Advanced Data Type use in Assembly (Proficiency Level: B)

    • MSB 4.1 Understand the purpose of 'structure' in Assembly' (Proficiency Level: B)
    • MSB 4.2 Understand iteration of consecutive memory addresses in Assembly, i.e, how to iterate through an array (Proficiency Level: B)

Performance Objectives (Proficiency Level: 3c)

  • Conditions: Given access to (references, tools, etc.):

    • Access to specified remote virtual environment
    • Student Guide and Lab Guide
    • Student Notes
  • Performance/Behavior Tasks:

    • Write programs to move, replace, and swap values in registers using Assembly.
    • Write programs partially copying data - leveraging and adapting across registers of different sizes.
    • Identify and access different registers appropriately in Assembly.
  • Standard(s)

    • Criteria: Demonstration: Correctable to 100% in class
    • Evaluation: Students will have 4 hours to complete the timed evaluation consisting of both cognitive and performance components.
    • Minimum passing score is 80%