CS401 - Assembly Language Programming
Course Page
Q & A
Course Category: Computer Science/Information Technology
Course Level: Imdregraduate
Credit Hours: 3
Pre-requisites: CS101

Course Synopsis

This course focuses on machine-independent assembly language programming and basic architecture of computer systems including fundamental concepts such as register structure, memory organization, addressing modes, organization of peripherals, and machine-level operations. These concepts are integrated through the use of assemblers, linkers and loaders. Students will learn how to write and debug programs using assembly language programming and how to interface assembly language code to C/C++ programs. Students will also learn some basic Boolean logic and how it applies to programming and computer hardware.

Course Learning Outcomes

At the end of the course, you should be able to:
  • Describe the basic functionalities and limitations of computer system
  • Explain the concepts related to computer architecture
  • Explain how high-level languages implement arithmetic expressions, loops, and logical structures at the machine level
  • Write and debug programs using Assembly language programming

Course Contents

Basic Computer Architecture, Intel IAPX88 Architecture, Register Architecture, Addressing Modes, Address Wraparound, Branching, Conditional Jumps, Unconditional Jump, Bit Manipulation, Multiplication Algorithm, Shifting and Rotations, Extended Operations, Masking Operations, Subroutines, Stack, Parameter Passing through Stack , Display Memory, Display Memory Formation, Screen Location Calculation, String Instructions STOS, LODS, SCAS, MOVS, CMPS examples.

Course Related Links

This is a tutorial about Assembly Language.Read it
You can see Standard ASCII table and Extended ASCII table on this link with ASCII codes expressed in HEX,OCT and Decimal notations
Very helpful book of Assembly Language
This link contain the summary of most of the interrupt services
Downlaod advanced full screen debugger[afd] from this url
A link for explanation about "How does my computer store things in memory"
 Course Instructor

Mr. Belal M Hashmi
B.Sc. (Electrical Engineering)
UET, Lahore.

Assembly Language for Intel Based Computers by Kip Irvine

Assembly Language Programming and Organization of the IBM PC by Ytha Yu , Charles Marut

Assembly Language Step by Step by Jeff Duntemann

Introduction to 80X86 Assembly Language and Computer Architecture by Richard c. Detmer

Introduction to ALP From 8086 to Pentium Processors by Sivarama P. Dandamudi, D. Gries, F. B. Schneider

Revolutionary Guide to Assembly Language by Jacov Izrailevich, Aleksandr Sopin, Semyon Lavin, Vitaly Maljugin

The Intel Microprocessors by Barry B. Brey