CMPSC 313
Assembly Language Programming
Pennsylvania State University-World Campus · UGRD · Fall 2026
Catalog description
Program design, addressing modes, subroutines, parameter passing, stacks, bit manipulation, text processing, DOS functions, macros, I/O, high level language interfaces. CMPSC 313CMPSC 313 Assembly Language Programming (3)This is a course in assembly language programming for IBM PCs and compatibles. Students will gain experience writing efficient, well-documented programs that are easily maintained. The course investigates the architecture and instruction set of a typical microcomputer based on the Intel 80x86 microprocessors. Topics include the basic structure of computers, the internal behavior of computers, program design, testing, debugging, machine architecture, addressing, BCD and binary arithmetic, subroutines and parameter passing, stacks, text processing, bit manipulation, DOS functions, macros, I/O routines, high level language interfaces and the assembly process.This course is important because assembly language is often used in programs where small size or fast execution is critical. Knowledge of assembly language is also useful in debugging programs written in high level languages. It also helps bridge the gap between hardware and high level languages.After successfully completing CMPSC 313 , the student should be able to: explain the 80x86 architecture, including registers and segment:offset addressing; describe different ways data are represented in a computer and work with binary and hexadecimal numbers; describe the functions of an assembler; implement program designs in 80x86 assembly language, including: writing, documenting, testing and debugging a program in PC assembly language; manipulating strings; coding basic algorithms such as searching and sorting in assembly language; calling and passing parameters to subroutines; utilizing DOS functions; and interfacing with a high level language; explain how the underlying hardware affects software design and performance; appreciate the factors that contribute to program efficiency.Students will be evaluated on homework (35% of grade), semester exams (35%), and a final comprehensive exam (30%).The major only requires that a student have experience with assembly language programming. This course is intended for students who have not had any experience with assembly language programming before entering the program. It will also serve as an elective. The material learned in this course is beneficial in understanding concepts in the required courses CMPSC 422, CMPSC 472 , and CMPSC 460 , as well as in the elective courses CMPSC 428 and CMPSC 470 .No special facilities are required for this course. The software necessary is available in the computer labs or for students to use at home. This course will be offered once per year, with an expected enrollment of 55.
Sections
Current meeting, instructor, credit, and enrollment details
001
Availability not recently verified- Days & times
- No scheduled meeting time
- Meeting dates
- —
- Location
- —
- Instructor
- Staff