coe 205 - 3 computer organization & assembly language talal alkharobi

14
COE 205 - 3 Computer Organization & Assembly Language Talal Alkharobi

Upload: gerard-mccarthy

Post on 27-Dec-2015

212 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: COE 205 - 3 Computer Organization & Assembly Language Talal Alkharobi

COE 205 - 3 Computer Organization &

Assembly Language

Talal Alkharobi

Page 2: 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

Page 3: COE 205 - 3 Computer Organization & Assembly Language Talal Alkharobi

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

Page 4: COE 205 - 3 Computer Organization & Assembly Language Talal Alkharobi

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

Page 5: COE 205 - 3 Computer Organization & Assembly Language Talal Alkharobi

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

Page 6: COE 205 - 3 Computer Organization & Assembly Language Talal Alkharobi

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

Page 7: COE 205 - 3 Computer Organization & Assembly Language Talal Alkharobi

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

Page 8: COE 205 - 3 Computer Organization & Assembly Language Talal Alkharobi

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

Page 9: COE 205 - 3 Computer Organization & Assembly Language Talal Alkharobi

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

Page 10: COE 205 - 3 Computer Organization & Assembly Language Talal Alkharobi

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

Page 11: COE 205 - 3 Computer Organization & Assembly Language Talal Alkharobi

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

Page 12: COE 205 - 3 Computer Organization & Assembly Language Talal Alkharobi

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)

Page 13: COE 205 - 3 Computer Organization & Assembly Language Talal Alkharobi

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

Page 14: COE 205 - 3 Computer Organization & Assembly Language Talal Alkharobi

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%