College of Computer Science & Information Systems
Institute Of Business Management
Program: BCS Semester: Fall 2006
Course Code: CSC201A Course Name: Low Level Programming Languages
Class Timing: 9:00 am to 10:30 am Session: Tuesday | Thursday
Course Supervisor: Amar Khan Tel No: 111-002-004 Ext 249
Email: email@example.com Consultation Time: Tuesday, 2:00 pm to 5:00 pm
1. Assembly Language for Intel Based Computers (Kip R. Irvine)
2. Assembly Language Programming and Organization for IBM PC (Ytha Yu)
1. Art of Assembly Language Programming (Randall Hyde)
2. Intel’s Microprocessors (Barry B. Brey)
Software and Utilities:
Turbo Debugger 5.0, MASM 6.13, TASM & TLINK
To introduce the students to low level programming of the Intel IA-32 processors. The main
focus of this course will be the programming methodology, showing how to use assembly
language to create both system level software tools and application programs. Computer
hardware manipulation and interaction between assembly language programs, the operating
system, and other application programs, will be taught during the course.
1. Computer Architecture & Organization
2. Digital Logic Design
First Hourly Exam 15
Second Hourly Exam 15
Lab Assignments 10
Final Examination 40
Week wise Course Plan:
Week Course Detail
1 Introduction to Assembly Language, machine language and data
representation, assemble-link-execute cycle.
2 Data transfer and arithmetic instructions, assembler directives, constants and
3 Data and program addressing modes, shift and rotate operations
4 Conditional processing, Boolean and comparison instructions, conditional
5 Procedures, stack operations, flow chart and top down-structured design
6 Integer arithmetic, add, sub, mul and div instructions, extended addition and
7 Macros, nesting of macros, parameters and arguments.
8 External procedures, linking multiple object files.
9 Strings and arrays, two-dimensional arrays, sorting and searching
10 Storage media control, disk storage fundamentals, drive and directory
manipulation, file manipulation
11 BIOS level programming, video and keyboard interrupts.
12 Introduction to floating point numbers processing,
13 Architecture of 80x87 family of math-co processors, defining real numbers,
instruction set of 80x87,
14 IBM PC System Hardware, Serial and Parallel ports programming
15 High Level Linking, Linking C with Assembly, Clippers
15 Memory Resident Programs , replacement of Interrupt Vectors
16 Final Examination.
Week wise Lab Plan:
Week Lab Exercise Detail
1. Assemble-link-execute life cycle using assembly language products MASM,
LINK, TASM and TLINK
2. Debugging using debug and Turbo debugger.
3. Printing characters and messages on console
4. Keyboard input and storing the variables in memory
5. Number conversion; binary to decimal and decimal to binary
6. Changing the case of user entered string, lower to upper and upper to lower
7. Basic calculator with addition, subtraction, multiplication and division
8. Linking multiple object files
9. Searching a word in an array using string data instructions
10. Creating subdirectories, create, open, read, write, append and close files
11. Cursor locating and printing using int 14h and keyboard int 16h
12. FLD and FST operations of floating point unit
13. Floating point calculator
14. Serial port programming, Chatting application using COM ports.
15. High level linking with C and C++