Вы находитесь на странице: 1из 2

University of Bahrain

College of Information Technology


Department of Computer Science
Course Information Form
Code ITCS242 Title

Assembly Language Programming

Pre/co-requisites

ITCE250+ITCS104

Web Page

Course Instructor

Email

Dr. Abdul-Fattah Salman

fsalman@hotmail.com

Credit Hours

3-2-3

http://bb.uob.edu.bh (Blackboard)

Office Hours: S40-2057


UTH: 11:00 12:00
MW: 11:00 12:00

Course Coordinator
Dr. Abdul-Fattah Salman

Course Description
Data representations, Computer Structure and Processor Organization, CPU Registers and Processor
Software model, Memory Organization and Segmentation, Physical & Logical Addresses, Address
Calculation, Assembly Language Fundamentals: Program Structure, Directives and Machine Instructions
Formats, Data Definitions, Addressing Modes, Instruction set, Macros, Stack and Procedures, Input/Output
programming and Interrupts.
Course Learning Outcomes
Mapping to
POs
a

On successful completion of this course, students will be able to:


1) Describe computer organization and data representation.

b,c

2) Analyze, design, implement, and test assembly language programs.


3) Use the interrupts in developing programs to do various file and input/output
operations.
4) Construct assembly language modular programs using procedures and macros.

c
c,k
a

5) Convert high-level language constructs into equivalent assembly language constructs.


6) Apply debugging tools, techniques, and skills to experiment with various instructions,
structures, and programs.

Textbook
th
Assembly Language Programming for X86 Processors by Kip. R. Irvine, Prentice-Hall, 6 edition, 2011.
References
IBM PC Assembly Language and Programming By Peter Abel, 5th edition, PHI, 2006
Assessments
Term Tests
Test #1:
20%
Test #2:
20%
Practical:
10%

Assignments
Lab:
10%
Home:

Tests dates and timings


Test #1
W 27 MARCH 2013 @
15:00-16:30

Quizzes

Test #2
T 21 MAY 2013 @
15:00-16:30

Projects

10%

Final Exam
30%

Practical
U 02 JUNE 2013 @
13:00-14:30

Final Exam
SAT 15 JUN 2013 @
8:30-10:30

Topics
Week
1
2
3

8
9

Topics
Chapter 1.3: Data representations.
Chapter 2.1 2.3:
IA Processor Architecture

Chapter 3.1 3.3: Assembly language Basics.


Chapter 3.3: Assembling, Linking, and Debugging. Quiz #1:
3.4-3.6: Data Definitions, Symbolic Constants and Data representation &
Real-address mode Programming.
Architecture
(Assembly Development System Components)
Chapter 4.1: Data Transfer Instructions and
Operand Types: MOV,XCHG,MOVZX, MOVSX, LEA
4.2: Addition & Subtraction: ADD, SUB, INC, DEC,
4.5: JMP & LOOP Instructions.
Chapter 4.3: Data-related Operators & Directives Quiz #2:
4.4: Indirect Addressing
Assembly basics, Data
Chapter 5.1-5.3: Library IO Procedures.
Definitions, Data Transfers
Chapter 7.4: Multiplication & Division
Quiz #3: Formula
7.5: Extended Addition & Subtraction: ADC, SBB Programming & IO
9.4: Two-dimensional Arrays: base+index+disp
Chapter 5.4: Stack Operations & Instructions.
Test#1: W 27 March 2013
Chapter 5.5-5.7: Procedures Concepts:
@ 15:00-16:30
Definition, invoking, Passing parameters

11

Chapter 6.5: Implementation of HLL Constructs.


(Branch and Loop Conditional Structures)
Chapter 7.1-7.3:
Shift & Rotate Instructions & their applications
Chapter 8.1-8.3, 8.5: Advanced Procedures:
Local Variables, Stack Parameters, Recursion
Chapter 10.2: Macros: Definition, Invocation,
Parameters, Expansion, Local labels, Nesting.
10.3.7: Macro operators.

14

Chapter 13: Interrupts & IO using INT 21H:


Function calls: 1, 2, 5, 8, 9, A
File IO: Handles, Open, Close, Create, Read,
Write, Move File Pointer, rename, delete.

15

Chapter 13: Interrupts & File Operations:


File IO: Handles, Open, Close, Create, Read,
Write, Move File Pointer, rename, delete.

16

Tutorial#3:
Listing Structure
Debugging and
Error Messages
Debugging and
Error Messages
Assignment #1:
Data Transfers
Assignment #2:
IO Programming
Assignment #3:
Formula
Programming

Mid-Semester Break APRIL 14 18, 2013

10

13

Lab Activities
Tutorial #1:
Data Representation
Tutorial#2:
Assembly Language
Development System

Chapter 2.1 2.3:


IA Processor Architecture (Cont.)

Chapter 6.1- 6.4: Boolean and Comparison


Instructions, Conditional & Unconditional
Jumps. Conditional Loop instructions: LOOPZ(E)
LOOPNZ(E)

12

Remarks

Review & Solving problem examples

Real-address mode
Programming
Quiz #4:
Conditional Processing
Quiz #5:
HLL

Assignment #4:
Simple Procedures
Assignment #5:
Converting HLL
code into assembly

Quiz #6:
Assignment #6:
Bit Processing +
Procedures & Bits
Procedures
Quiz #7:
Programming using
Assignment #7:
Macros
Macros
Test#2: T 21 MAY 2013
@ 15:00-16:30
Assignment #8:
Quiz #8:
Real-address mode
IO using Interrupts
Programming
Interrupts
Practical Test
U 2 JUN 2013 @
13:00-14:30

Вам также может понравиться