WPI Worcester Polytechnic Institute

Computer Science Department
------------------------------------------

CS2011, C Term 2001

Introduction to Machine Organization and Assembly Language

Teaching Staff

Instructor: Janet E. Burge

Email: jburge@cs.wpi.edu
Office: FL 144
Office hours: M: 1-2, Tu: 9-10,  Th: 9-10, 1-2

TAs:

        TA Office Hours:  FL A20 (Sub-basement)

        Andrei Dancus

             Office Hours:  Tu: 2-4, W: 4-5, Th: 2-4

        Chris Shoemaker

              Office Hours:  M: 11-12, W: 9-12, Th: 4-5

Lectures

MTRF/12:00 - 12:50 in SL115. You should bring your text-book (Irvine) to lectures.

Labs

Important: You must attend the lab section you are registered in!  Lab space is limited. You will not be given credit for a lab done in a section other than the one you are registered for!

Section C01: 3:00    Higgins Labs, 230
Section C02: 12:00  Washburn, 216
Section C03: 1:00    Washburn, 216
Section C04: 2:00    Higgins Labs, 230
Section C05: 8:00    Kaven, 202

Note that Lab sections are not in order! 

Be sure to bring the following to lab:

You will need a Novell account!

Mailing Lists

Textbook

Required:

K.R. Irvine Assembly Language for Intel-Based Computers, 3rd edition, Prentice Hall, 2000

R.Hyde The Art of Assembly Language Programming http://webster.cs.ucr.edu/Page_asm/ArtOfAsm.html

Recommended

A.S. Tanenbaum, Structured Computer Organization, 4th Edition, Prentice Hall, 2000

-- the book is recommended, not required, because only parts of it will be used. This does not mean you will not need it! Several copies (most of an older edition) will be on reserve at the library.

Web page: http://cw.prenhall.com/bookbind/pubbooks/tanenbaum2/chapter0/deluxe.html

You can get copies of all the figures from the web page.

Grading

Course grading will be based on the following:
A passing grade on the exams will be needed to pass the course. The exam pass threshold will not be determined until after the final exams are graded.

Homework is due at the START of the class period on the day that it is due. All homework and exams will be returned during the following laboratory session (at the soonest). If homework can not be picked up during the lab, it should be picked up from the TA assigned to your lab during his office hours.

C01 (3:00):   Andrei
C02 (12:00): Andrei
C03 (1:00):   Chris
C04 (2:00):   Andrei
C05 (8:00):   Chris

Note: Because the lowest homework and lab scores will be dropped, make-up lab sessions will not be offered under any circumstances and late homework will not be accepted. Homework submitted at the end of class rather than the start is considered late! Make-up exams will only be offered in case of serious health-related emergencies, and only with appropriate documentation signed by a medical doctor.

Useful Links

Syllabus

Some deviations from this schedule may occur. This is especially true for the recommended readings -- additional readings from the Tannenbaum text may be added.

The reading table indicates which books the reading is from as follows: (I) is Irvine, (T) is Tannenbaum, and (AoA) is Art of Assembly.

Date

Topic

Reading

Due

1/11

Introduction

1 (I)

 

1/12

Numbering Systems

Appendix A (I)

1.1 - 1.4 (AoA)

 

 

 

 

 

1/15

Representing Information: Signed and Unsigned Numbers

 

1.7, 1.8, 1.10 (AoA)

Appendix  B (T)  

 

 

1/16

Floating Point Numbers

 

14.1, 14.2 (AoA)

Appendix B (T)  

 

1/17

Lab 1: Using Debug

 

 

1/18

Computer Architecture (includes the Simpletron)

2 (I)  

 

1/19

Machine Code Programming  
(how to do homework 2!)

15.2 (I)  (not the best explanation...)

Homework 1

 

 

 

 

1/22

Assembly Language Programs

Using TASM

Data Movement Instructions

3.1 - 3.4 (I)

Appendix D (I)

3.6 (I)

 

1/23

Linking separate files

CMP, Conditional Jumps

High Level Logic Structures

9.4 (I)  

6.1 - 6.2 (I)

6.4 (I)

 

1/24

Lab 2:  Using TASM

 

 

1/25

Arithmetic Instructions

Overflow

MUL/DIV instructions

3.7 (I)

7.4(I)  

 

1/26

LOOP, JMP  

4.3, 6.3 (I)  

Homework 2

 

 

 

 

1/29

Addressing: Immediate, Direct, Indirect  

3.8, 4.4 (I)  

1/30

Addressing:  Displacement, Indexed  

 

 

1/31

Lab 3: Indirect Addressing

 

 

2/1

DOS and BIOS Service Calls  

File Processing

5.4 - 5.7 (I)  

12.1 - 12.3 (I)

 

2/2

Stack  

 5.1 - 5.3 (I)

Homework 3

 

 

 

 

2/5

Catch-Up/Review

 

 

2/6

** Midterm Exam **
Sample Midterm

 

 

2/7

Lab 4: DOS and BIOS Calls

 

 

2/8

Subroutines, Parameter Passing, Binary/ASCII conversion  

9.3.1 - 9.3.2 (I)

9.6 - 9.7 (I)

 

2/9

Recursion  

Shift  instructions

5.8 (I) 

7.1 (I)

Homework 4

 

 

 

 

2/12

C++/Assembler Interface

9.3.6, 9.4, 13.1, 13.3 (I)

 

2/13

Boolean Algebra  

Boolean Instructions

2.1 - 2.4 (AoA)  

6.1 (I)

 

2/14

Lab 5:   C++/Assembler Interface
Lab 5 .cpp file

 

 

2/15

  Advising Appointment Day

 

 

2/16

Equivalent Circuits

Karnaugh Maps

2.5 (AoA)  
3.1 (T)

Homework 5

 

 

 

 

2/19

Combinational Circuits

2.6, 2.7 (AoA)  
3.2 (T)

 

2/20

Sequential Circuits

Memory

3.3 (T)

 

2/21

Lab 6: Adders
lab6.asm

 

 

2/22

Intro to Microprogramming

class handout

 

2/23

Sample Microarchitecture

Homework 6

 

 

 

 

2/26

More Microprogramming

 

 

2/27

Catch-Up/Review

 

 

2/28

Help Sessions - FL A20

 

 

3/1

** Final Exam **
Sample Final

 

 

Academic Honesty

[Return to the WPI Homepage] [Return to the CS Homepage] [Return to Janet Burge's Home Page]