LLP-BCS by keralaguest


									                College of Computer Science & Information Systems
                Institute Of Business Management

                                    Course Outline
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:                      Consultation Time: Tuesday, 2:00 pm to 5:00 pm

Recommended Books:
1. Assembly Language for Intel Based Computers (Kip R. Irvine)
2. Assembly Language Programming and Organization for IBM PC (Ytha Yu)

Reference Books:
1. Art of Assembly Language Programming (Randall Hyde)
2. Intel’s Microprocessors (Barry B. Brey)

Recommended Websites:

Software and Utilities:
Turbo Debugger 5.0, MASM 6.13, TASM & TLINK

Course Objective:
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.

Course Pre-requisites

    1. Computer Architecture & Organization
    2. Digital Logic Design

Grading Plan:

Distribution          Weightage
First Hourly Exam          15
Second Hourly Exam         15
Lab Assignments            10
Project                    20
Final Examination          40
Total                     100

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
        1st Hourly
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.
        2nd Hourly
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,
        3rd Hourly
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
         case conversion
   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++


To top