CS401 : Computer Architecture and Assembly Language Programming

Course Overview

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 Calendar

Introduction to Assembly Language1Handouts1-3
Registers Architechture3Handouts7-11
Segmented Memory Model4Handouts11-14
Data Declaration and Direct Addressing5Handouts17-20
Indirect Addressing6Handouts21-23
Addressing Modes7Handouts23-26
Assignment No. 1
Unconditional jumps and relative Addressing9Handouts31-38
Bit Manipulations10Handouts39-43
Multiplication in Assembly Language11Handouts43-46
Bitwise Logical Operations and Masking Operations12Handouts46-49
Assignment No. 2
Stack and its Operations14Handouts55-59
Parameter Passing through Stack and Local Variables15Handouts59-63
Display Memory16Handouts67-70
Display Memory and Number Printing in Assembly17Handouts70-74
Screen Location Calculation18Handouts74-79
Clearing the Screen and String Printing19Handouts79-82
Screen Scrolling and String Comparison20Handouts82-84
Quiz No. 1
Screen Scrolling and String Comparison (contd...)21Handouts84-87
Interrupts Handling22Handouts89-93
Mid Term Examination
BIOS and DOS Interrupts23Handouts93-95
Hardware Interrupts24Handouts97-99
Interrupt Chaining and Terminate and Stay Resident26Handouts103-107
Assignment No. 3
Programmable Interval Timer and Parallel Port27Handouts108-113
Debugger using Single Step Interrupt28Handouts117-120
Debugger using Breakpoint Interrupt29Handouts120-122
Concepts of Multitasking30Handouts123-127
Multitasking Kernel as TSR31Handouts127-129
Concepts of Multitasking (contd...)32Handouts129-131
BIOS Video Services33Handouts133-136
DOS Video Services34Handouts136-139
Storage Access using BIOS35Handouts140-145
Storage Access using DOS36Handouts145-150
Graded Discussion Board
Device Drivers37Handouts151-154
Serial Port Programming38Handouts155-158
Protected Mode39Handouts159
Quiz No. 2
Code and Data Segment Descriptor40Handouts160
32 bit Programming41Handouts160-163
VESA Linear Frame Buffer42Handouts164-166
Interrupt Handling43Handouts166-168
Interfacing with High Level Languages44Handouts171-174
Comparison with other Processor45Handouts175-177
Final Examination
Back to Top