Park University Logo

Park.edu Home > Information and Computer Science > template

CS 301:Assembly Language

Course Description:
The student will learn to program in assembly language. The student will work with binary and hexadecimal numbering systems, computer architecture, and an assembly language instruction set(s). The student will write assembly language programs. Prerequisites: CS 220 and CS 255. 3:0:3

Learning Outcomes:
Upon completion of this course, the student should be able to:

  1. Explain basic concepts - applications of assembly language, basic concepts, machine language, data representation, and defining constants and variables.
  2. Explain Processor Architecture - basic microcomputer design, instruction execution cycle, IA-32 processor architecture, memory management, components of a microcomputer, and the input-output system.
  3. Demonstrate creativity and problem-solving skills.
  4. Use the TextPad integrated development environment to enter, run, and debug Assembly programs.
  5. Assemble, link, debug, and test Assembly programs.
  6. Write Assembly programs that use proper style and documentation.
  7. Demonstrate the proper use of procedures - linking to an external library, stack operations, defining and using procedures, flowcharts, and top-down structured design.
  8. Demonstrate proper use of data transfers, addressing, and arithmetic.
    • Given a problem description, the student should be able to decide on appropriate data transfer and arithmetic instructions, assembly-link-execute cycle, operators, directives, expressions, JMP and LOOP instructions, and indirect addressing.
  9. Write Assembly programs that use:
    • simple data transfer
    • arithmetic instructions
    • operators and directives
    • expressions
    • JMP and LOOP instructions
    • indirect addressing
    • boolean and comparison instructions
    • conditional jumps and loops
    • high-level logic structures
    • finite state machines
    • shift and rotate instructions with useful applications
    • multiplication and division
    • extended addition and subtraction
    • ASCII and packed decimal arithmetic
    • BIOS-level programming - keyboard input, video text and graphics programming
    • Calls to the MS-DOS interrupts for both console and file input-output

Assessment Measures:

Assessment Tool Linkage to Learning Outcome #:
   
Homework Assignments:
Assign a sufficient amount of homework such that all of the above objectives are covered. All
For each homework assignment, include one or more of:
short answer, multiple choice, trace the given code, debug the given code
1, 2, 5, 7, 8
For each homework assignment, include one or more programming projects. 3-9
In order to meet the "creativity and problem-solving skills" objective, the student must be required to produce programming project solutions from given problem descriptions. Note that this objective is not met if a student is only able to produce solutions by pasting together given code fragments. Although pasting code fragments together is sometimes appropriate, it does not enforce the development of creativity and problem-solving skills. 3-9
   
Exams:  
Include one or more of:
short answer, multiple choice, trace the given code, debug the given code.
1, 2, 5, 7, 8
Given a problem description, produce a solution in the form of a short program or a method(s). 3, 6-9

Textbooks
To view the approved textbook list, click here.

^ Back to the Top

---------------------------------

University Resources


This page was last modified on Cannot perform flastmod(): Win32 Error Code = 2