Upload
gerard-mccarthy
View
212
Download
0
Embed Size (px)
Citation preview
COE 205 - 3 Computer Organization &
Assembly Language
Talal Alkharobi
Term 042 COE 205
Dr.Talal AlKharobi 2
COE 205 section 3
Term 042 (2005)
TIME SMW 1:10 PM – 2:00 PM
Location 24-133
Term 042 COE 205
Dr.Talal AlKharobi 3
Instructor
Dr. Talal Alkharobi
E-mail [email protected]
Web http://www.ccse.kfupm.edu.sa/~talal
Office 22-326
Phone 2897
Office Hours TBA
Term 042 COE 205
Dr.Talal AlKharobi 4
COE 205
Corequisite: COE 200
Textbook: Introduction to Assembly Language Programming: From 8086 to Pentium ProcessorsSivarama P. Dandamudi, , Springer, 1998.Computer Systems Design and Architecture Vincent P. Heuring & Harry F. Jordan, , Addison Wesley, 1997.
Online Material: http://assembly.pc.ccse.kfupm.edu.sa
Term 042 COE 205
Dr.Talal AlKharobi 5
Course outline
1. Introduction to Computer Organization & Assembly 1 Week
2. Review of Internal Data Representation 1 Week
3. Assembly Language Concepts 2 Weeks
4. Assembly Language Instructions 2 Weeks
5. Assembly Language Programming 2 Weeks
6. Procedures and the Stack 2 Weeks
7. Interrupts and I/O 2 weeks
8. Processor and Control Unit Design 3 Weeks
Term 042 COE 205
Dr.Talal AlKharobi 6
(1) Introduction
Assembly language versus high level language programming Basic Components:
processor, memory, bus, input and output devices
Term 042 COE 205
Dr.Talal AlKharobi 7
(2) Review of Internal Data Representation
Integer representation
Unsigned integers
Signed integer
Integer arithmetic
carry
overflow
Character representation
Term 042 COE 205
Dr.Talal AlKharobi 8
(3) Assembly Language Concepts
Program structure
Statements
Directives
Instructions
Variable and array declarations
Constant definitions
I/O using interrupt 21H
Memory segmentation
Logical and physical addresses
Intel x86 16-bit and 32-bit registers and architectures
Instruction formats
Opcodes and operands
Addressing modes
Term 042 COE 205
Dr.Talal AlKharobi 9
(4) Assembly Language Instructions
Data movement instructions
Arithmetic instructions and flags
Logical and bit manipulating operations
Flow control
Compare
Jump
Loop
Term 042 COE 205
Dr.Talal AlKharobi 10
(5) Assembly Language Programming
Implementing conditional statements and loops in assembly language
Pentium Memory Addressing Modes
Traversing and processing arrays
String processing
Term 042 COE 205
Dr.Talal AlKharobi 11
(6) Procedures and the Stack
Stacks Pentium implementation of the stack
Stack operations Procedures
Writing procedures calling and returning from a procedure
Parameter passing Local variables
Macros
Term 042 COE 205
Dr.Talal AlKharobi 12
(7) Interrupts and I/O
Interrupts
Types
Software
Hardware
processor interrupts
Interrupt processing
I/O
I/O instructions
Peripheral support chips
Direct Memory Access (DMA)
Term 042 COE 205
Dr.Talal AlKharobi 13
(8) Processor and Control Unit Design
Register transfer
Data-path design
Bus organization
1, 2 & 3 bus organizations
performance considerations.
Fetch and execute control sequences at the register transfer level,
Control Unit design
Hardwired control unit design,
Microprogrammed control unit:
horizontal microprogramming
vertical microprogramming
Instructions sets design and formats
Term 042 COE 205
Dr.Talal AlKharobi 14
Grading Policy
Homework: 5% Online submission is required (WebCT)
Programming Assignments 10%
Demonstration may be required Quizzes: 10%
Pop quizzes. be ready every class Major Exam I: 20%
Thursday March 24th 9:30am Major Exam II: 20%
Thursday May 12th 9:30am Final Exam: 20%
TBA LAB 20%
Subject to normalization
105%