COURSE DESCRIPTION

NAME OF INSTITUTION Lahore Garrison University
PROGRAM (S) TO BE EVALUATED Computer Science , Spring 2023
Course Description : Modern computer technology requires professionals of every computing specialty to understand both hardware (HW) and software (SW). The interaction between HW and SW also offers a framework for understanding the fundamentals of computing. In this course students will study topics such as Instruction Set Architecture, Basic Assembly Instructions, Addressing Modes, Computer Performance evaluation, Floating Point Data, Data Path Design for Single Cycle and Multiple Cycle Computers, Pipelined Data Path Basics, Hazards in Pipelining, Memory hierarchy design, storage and I/O. The Lab will have focus on GUI based Turbo Assembly Level Programming and some HW experiments.
Course Code CSC346
Course Title Comp Organization & Assembly Lang
Credit Hours 3+1
Prerequisites by Course(s) and Topics Nill
Assessment Instruments with Weights (homework, quizzes, midterms, final, programming assignments, lab work, etc.) SESSIONAL (Quizzes, Assignments, Presentations) =25 %
Midterm Exam =25 %
Final Exam = 50%
Course Coordinator Naila Noreen
URL (if any) Nill
Current Catalog Description
Textbook (or Laboratory Manual for Laboratory Courses) • “Assembly Language Programming and Organization of IBM PC, Ytha Yu, Charles Marut (International Edition), 1992 • Lab Manual
Reference Material • Assembly Language Programming for Intel- Computer, Latest Edition • Mazidi M.A. - 80×86 IBM PC and Compatible Computers (Volumes I and II). Assembly Language, Design, and Interfacing - 1995
Course Goals This course is to provide a combined applied and theoretical background in Computer organization and assembly language to improve student’s learning outcomes: • Comprehend and demonstrate computer organization and assembly language • Analyze and Identify complex problems with memory management techniques • Write portable programs for 8086 architectures by following assembly code structure.
Course Learning Outcomes (CLOs):
At the end of the course the students will be able to:DomainBT Level*
Explain the basic concepts of Assembly Language Programming C 2
Write the algorithms for simple problems related to Assembly Language. P 2
Simulate programs in Assembly Language P 3
* BT= Bloom’s Taxonomy, C=Cognitive domain, P=Psychomotor domain, A= Affective domain
Topics Covered in the Course, with Number of Lectures on Each Topic (assume 15-week instruction and one-hour lectures)
WeekLectureTopics Covered
Week 1 1 Introduction to Assembly Language Programming Tutorial
2 Introduction to Registers in assembly language programming tutorial
Week 2 3 Types of registers in Assembly language programming tutorial
4 Addressing modes mov instruction interrupt and ASCII in Assembly language
Week 3 5 Program structure, syntax and program to print single character in assembly language
6 Install EMU MASM LINK & Run Assembly Program in dosbox to print character/ EMU 8086
Week 4 7 Program to print name with characters in assembly language programming
8 Program to take input a character from user in assembly language programming
Week 5 9 Program to add two numbers in Assembly language Programming tutorial
10 Program to subtract two numbers in assembly language programming tutorial
Week 6 11 Program to input two numbers and add them in Assembly language tutorial
12 Program to convert Capital letter to small in assembly, uppercase to lowercase
Week 7 13 Variables, data types, offset and lea in assembly language
14 Buffer overflow
Week 8 1 hours Mid Term
Week 9 15 Assembly program to print two strings on two different lines, Linefeed, Carriage return
16 Loop, Label, Inc and Program to print 0 to 9 in assembly language
Week 10 17 Program to print capital letters from A to Z using loop in assembly language
18 Mid Term Exam Material for assembly language programs, theory, papers, book and presentations
Week 11 19 Flag Register Carry parity Auxiliary zero sign trap interrupt direction and overflow flag
20 Logic design and the Hardware Control Language (HCL)
Week 12 21 Program to swap two numbers in assembly language
22 Program to swap two numbers in assembly language
Week 13 23 Jump, unconditional jump, conditional jump and compare cmp, jmp in assembly
24 Program to print the input number is equal or not in assembly language
Week 14 25 Array, dup and source index register in assembly language programming
26 Program to print an array using loop in assembly language programming
Week 15 27 String, Program to input a string in assembly language programming
28 Program to multiply two numbers in assembly language
Week 16 29 Introduction to graphics, in 10th, ah functions routines in assembly
30 Program to draw box, rectangle, square in assembly graphics in 10th
Week 17 2 hours Final Term
Laboratory Projects/Experiments Done in the Course
Programming Assignments Done in the Course
Instructor Name Naila Noreen
Instructor Signature
Date