0% found this document useful (0 votes)
2 views

Computer Organization And Assembly

The document outlines the course structure for 'Computer Organization & Assembly' at Allama Iqbal Open University, detailing credit hours, prerequisites, and recommended textbooks. It covers course objectives, evaluation criteria, and a comprehensive outline of topics including assembly language fundamentals, hardware architecture, and software interrupts. Practical activities are also included to reinforce learning through hands-on experience with assembly programming.

Uploaded by

Jhon Doe
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views

Computer Organization And Assembly

The document outlines the course structure for 'Computer Organization & Assembly' at Allama Iqbal Open University, detailing credit hours, prerequisites, and recommended textbooks. It covers course objectives, evaluation criteria, and a comprehensive outline of topics including assembly language fundamentals, hardware architecture, and software interrupts. Practical activities are also included to reinforce learning through hands-on experience with assembly programming.

Uploaded by

Jhon Doe
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 2

ALLAMA IQBAL OPEN UNIVERSITY, ISLAMABAD

(Department of Computer Science)


3453 Computer Organization & Assembly
Course Code: 3453
Course Title: Computer Organization & Assembly
Credit Hours: 3 (2 + 1), 2 hours lecture and 3 hours lab per week
Session Offered: As per offering schedule
Recommended Book: Assembly Language for x86 Processors by Kip R. Irvine (7th Edition)
(2014)
A/V/Multimedia Content: As defined by the Instructor! MOOCs links
Reference Book: 1. Stallings, "Computer Organization & Architecture'', Prentice HALL,
7th Edition (2006)
2. Computer Organization and Design, The Hardware/Software
Interface, by David A. Patterson and John L. Hennessy, 4 th
Edition (2008)
Pre-Requisite: 3409 Digital Logic Design
Course Coordinator: Ch. Muhammad Shahbaz Anjum
Teaching Methodology: Face-to-Face/Online/Blended
Computer Usage: 3 hours supervised lab per week + about 3 hours unsupervised lab
Course Introduction:
The course has been designed to teach assembly language programming & debugging by using
Microsoft Assembler. The course covers all assembly language instruction set & constructs number
systems & conversions and hardware architecture.
Course Objectives:
At the end of the course the students are expected to:
1. Introduce the organization of computer systems and usage of assembly language for optimization and
control.
2. Expose the low-level logic employed for problem solving while using assembly language as a tool.
3. Be capable of writing moderately simple to complex assembly language subroutines and interfacing
them to any high level language.
4. Explain the instruction execution cycle.
Evaluation Criteria:
i. Assignments and/or quizzes as per instructor's choice 10%
ii. Midterm Theory/practical/presentation! mini projects as per instructor's choice 20%
iii. Final Examination 70%

Course Outlines:
Unit# 1 Introduction
Context of Assembly Language (Introduction to assembly language, Assembly Language
Applications), Data representation (Binary numbers, Converting Binary to Decimal, Hexadecimal
Numbers, Signed Numbers, Character Storage), Introducing Assembly Language (Language
Instructions, A Sample Debug Program, Debug Commands)

Unit# 2 Hardware and Software Architecture


16-BIT Intel Processor Architecture (Central Processing Unit, Registers, Status and Control
Registers, Flags, Instruction Execution Cycle, Intel Microprocessor Family), 32-BIT Intel Processor
Architecture (Improved Execution Cycle, 32-bit Register Set), Operating System and Memory
(Memory Architecture, Video display, Absolute Address Calculation, Video Adapter, Memory
(RAM), Video RAM)
Unit# 3 Assembly Language Fundamentals
Basic Elements (Constants and Expressions, Statements, Names, Sample Hello Program),
Assembling Linking and Debugging (Microsoft Assembler (MASM)), Data Allocation Directive
(Define Byte (DB), Define Word (DW), Define Double-word (DD)), Symbolic Constants (Equal-
Sign Directive, EQU Directive, TEXTEQU Directive)
Unit# 4 Instructions
MOV Instruction (Operands with Displacements, XCHG Instruction), Arithmetic Instructions (INC
and DEC Instructions, ADD Instruction, SUB Instruction, Flags Affected by ADD and SUB), Basic
Operand Types (Register Operands, Immediate Operands, Direct Operands, Direct - Offset
Operands), Extended Addition and Subtraction (ADC Instruction, SBB Instruction), Multiplication
and Division (MUL Instruction, IMUL Instruction, DIV Instruction, IDIV Instruction, CBW, CWD,
CDQ, and CWDE Instructions, Preventing Divide Overflow)
Unit# 5 Using the Assembler
More About the Assembler and Linker (Source Listing File, Map File, Assembling and Linking with
MS-DOS Batch Files, Memory Models, Target Processor Directives), Operators and Expressions
(Arithmetic Operators, OFFSET, SEG, PTR, LABEL, AND EVEN), JMP and LOOP Instructions
(JMP Instructions, LOOP Instruction, LOOP, LOOPW, LOOPD Instructions), Indirect Addressing
(Indirect Operands, Based and Indexed Operands, Base-Index with Displacement)
Unit# 6 Conditional Processing
Boolean and Comparison Instructions (The Flags Register, AND Instruction, OR Instruction, XOR
Instruction, NOT Instruction, NEG Instruction, TEST Instruction, CMP Instruction, CMPXCHG
Instruction), Integer Arithmetic (Shift and Rotate Instructions, SHL Instruction, SHLD/SHRD
Instructions, SHR Instruction, SAL and SAR Instructions, ROL Instruction, ROR Instruction, RCL
and RCR Instructions), Sample Applications (Shifting Multiple Bytes on the 8086, Fast
Multiplication and Division)
Unit# 7 Conditional Jumps
Code Generation for Conditional Jumps, Conditional Jump Examples, Conditional Loops (LOOPZ
and LOOPE Instructions, LOOPNZ and LOOPNE Instructions), High-Level Logic Structures
(Simple IF Statement, Compound IF Statement, WHILE Structure, REPEAT-UNTIL Structure,
CASE Structure, Table of Procedure Offsets)
Unit# 8 Software Interrupts
INT Instruction, Redirecting Input-Output, MS-Dos Function Calls, Output Functions, Input
Functions, Date/Time Functions, BIOS-Level Keyboard Input (INTl 6H), BIOS-Level Video Control
(INT 10H), Disk Storage Fundamentals, Drive and Directory Manipulation
Unit# 9 Procedures and Interrupts,
Stack Operations, Procedures, Procedure Parameters, Structures, Macros (Macros with Parameters,
Defining a Macro, Example: mDisplayStr Macro, mGotoRowCol macro)

Activities/ Practical:
Teacher shall assign problem to student on the following activities:
1. Convert an Octal Number to Hexadecimal Number.
2. Give representation of a negative number in computer
3. Add, Subtract, Multiply & Divide signed integers.
4. Write and execute an assembly program and perform debugging
5. Develop programs to demonstrate conditional processing of instructions
6. Develop programs to demonstrate conditional loops
7. Develop program to perform stack operations
8. List down all the registers of microprocessor and their purpose

Note: The instructor may assign additional activities.

You might also like