You are on page 1of 3

College of Computer Science & Information Systems Institute Of Business Management

Course Outline
Program: BCS Course Code: CSC201A Class Timing: 4:15 pm to 7:15 pm Course Supervisor: Amar Khan Email: amarkhan24@hotmail.com Semester: Summer 2008 Course Name: Low Level Programming Languages Session: Sunday Tel No: 111-002-004 Ext 249 Consultation Time: Sunday, 2:00 to 4: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. Intels Microprocessors (Barry B. Brey) 1. 2. Recommended Websites: http://developer.intel.com http://epanorama.net 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

-1-

2. Digital Logic Design Grading Plan: Distribution First Hourly Exam Second Hourly Exam Lab Assignments Project Final Examination Total Weightage 15 15 10 20 40 100

Week wise Course Plan: Week 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 15 16 Course Detail Introduction to Assembly Language, machine language and data representation, assemble-link-execute cycle. Data transfer and arithmetic instructions, assembler directives, constants and variables Data and program addressing modes, shift and rotate operations Conditional processing, Boolean and comparison instructions, conditional jumps 1st Hourly Procedures, stack operations, flow chart and top down-structured design Integer arithmetic, add, sub, mul and div instructions, extended addition and subtraction. Macros, nesting of macros, parameters and arguments. External procedures, linking multiple object files. 2nd Hourly Strings and arrays, two-dimensional arrays, sorting and searching Storage media control, disk storage fundamentals, drive and directory manipulation, file manipulation BIOS level programming, video and keyboard interrupts. Introduction to floating point numbers processing, 3rd Hourly Architecture of 80x87 family of math-co processors, defining real numbers, instruction set of 80x87, IBM PC System Hardware, Serial and Parallel ports programming High Level Linking, Linking C with Assembly, Clippers Memory Resident Programs , replacement of Interrupt Vectors Final Examination.

-2-

Week wise Lab Plan: Week 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. Lab Exercise Detail Assemble-link-execute life cycle using assembly language products MASM, LINK, TASM and TLINK Debugging using debug and Turbo debugger. Printing characters and messages on console Keyboard input and storing the variables in memory Number conversion; binary to decimal and decimal to binary Changing the case of user entered string, lower to upper and upper to lower case conversion Basic calculator with addition, subtraction, multiplication and division Linking multiple object files Searching a word in an array using string data instructions Creating subdirectories, create, open, read, write, append and close files Cursor locating and printing using int 14h and keyboard int 16h FLD and FST operations of floating point unit Floating point calculator Serial port programming, Chatting application using COM ports. High level linking with C and C++

-3-

You might also like