This schedule is subject to change. Changes, if necessary, will be announced in class, posted to the newsgroup, and
updated here. This page is the final authority on schedule information.

 

Sunday

Monday

Tuesday

Wednesday

Thursday

Friday

Saturday

1/15

1/16

1/17
Lecture 1: Course goals; Course overview; history; review of binary number systems, 2's complement, and base conversion.

Lecture 1 (slides) - (pdf);
Reading
: Hyde - Art of Assembly: forward and sections 1.0-1.3, 1.7.

1/18
MP0 assigned
HW0 assigned

1/19
Lecture 2: Computer system architecture; specifics on the 80x86 (registers, memory, peripherals).

Lecture 2 (slides) - (pdf);
Reading
: Hyde - Art of Assembly: sections 3.0-3.1, 3.3.1-3.3.4, 4.2-4.3, 4.5.

1/20

1/21

1/22

1/23

1/24
Lecture 3: Programming with registers; assembly opcodes; addressing modes, NASM basics.

Lecture 3 (slides) - (pdf);
Reading
: Hyde - Art of Assembly: sections 3.3.1-3.3.13, 4.1, 4.4, 4.6-4.8, 6.3, 6.5.1-6.5.5; Lab Notes - sections 5.1-5.5, 5.9, 5.11, 6.1-6.2.

1/25

1/26
Lecture 4: Logic and arithmetic operations, overflows & carries, flags settings, conditional branching.

Lecture 4 (slides) - (pdf);
Reading
: Hyde - Art of Assembly: sections 6.1, 6.6, 6.9, 6.11; Lab Notes - sections 5.1-5.5, 5.9, 5.11, 6.1-6.2.

MP1 assigned
HW1 assigned

1/27
MP0 due 5:00pm
HW0 due

1/28

1/29

1/30

1/31
Lecture 5: Mapping loop/branch paradigms to linear code; multiplication; division; shift instructions.

Lecture 5 (slides) - (pdf);
Reading
: Hyde - Art of Assembly: sections 6.5, 6.6, 6.9, 6.11.

2/1

2/2
Lecture 6: The stack: implementation, PUSH & POP operations, direct access, procedures.

Lecture 6 (slides) - (pdf);
Reading
: Hyde - Art of Assembly: sections 6.3.5, 11.9.

2/3

2/4

2/5

2/6

2/7
Lecture 7: Procedures (cont.): passing arguments, recursion.

Lecture 7 (slides) - (pdf);
Reading
: Hyde - Art of Assembly: sections 6.3.5, 11.

HW1 due

2/8

MP1 due 5:00pm

2/9
Lecture 8: Macros, arrays (single and multidimensional), lookup tables, hash tables, jump tables.

Lecture 8 (slides) - (pdf);
Reading
: Hyde - Art of Assembly: sections 5.6, 8.14, 11.

MP2 assigned
HW2 assigned

2/10

2/11

2/12

2/13

 

2/14

Lecture 9: Interrupt vectors, software & hardware interrupts, 8259 PIC programmable interrupt controller.

Lecture 9 (slides) - (pdf);
Reading
: Hyde - Art of Assembly: sections 3.5, 17.1, 17.4, 17.5.

2/15

 

2/16
Lecture 10: interrupts (cont.), example of implementing and installing an interrupt handler. Video display hardware, text video mode, controlling and accessing video display.

Lecture 10 (slides) - (pdf);
Reading
: Hyde - Art of Assembly: sections 3.5, 17.1, 17.4, 17.5, and 23.1-23.3

2/17

2/18

2/19

2/20

2/21
Lecture 11: Mode 13h graphics; final projects (Final Projects);

Lecture 11 (slides) - (pdf);
Reading
: Lab Notes section 11.2.

2/22

MP2 due 5:00pm

2/23
Lecture 12: Review session for Exam 1

HW3 assigned

2/24

 

2/25

2/26

2/27

2/28

EXAM 1 in Class

 

MP3 assigned

3/1

 

3/2
Lecture 13: Queues, arrays, lookup tables, jump tables; keyboard.

Lecture 13 (slides) - (pdf);
Reading
: Hyde - Art of Assembly: sections 23.1-23.3.
Lab Notes – sections 7.2, 10.1.

3/3

3/4

3/5

3/6

3/7
Lecture 14: Real Mode revisited, introduction to Protected Mode, differences.

Lecture 14 (slides) - (pdf);
Reading
: Lab Notes

HW3 due

3/8

 

 

 

 

 

 

HW4 assigned

3/9
Lecture 15: Floating point arithmetic & the floating point unit.

Lecture 15 (slides) - (pdf);
Reading
: Hyde - Art of Assembly: sections 14; Protected mode tutorial.

Final Project Selection Form

3/10

3/11

3/12

3/13

3/14
Lecture 16: MMX MultiMedia
eXtensions; examples of using MMX instructions.

Lecture 16 (slides) - (pdf);

3/15

MP3 due 5:00pm

3/16
Lecture 17: protected mode libraries (PModeLib, MMX instructions – example of image dissolve using alpha blending; mouse.

Lecture 17 (slides) - (pdf);
Reading
: Browse Intel MMX and AMD K6 MMX manuals. Lab Notes

MP4 assigned

3/17

 

HW4 due

3/18
Spring Break

3/19
Spring Break

3/20
Spring Break

3/21
Spring
Break

3/22
Spring
Break

3/23
Spring
Break

3/24
Spring Break

3/25
Spring Break

3/26
Spring Break

3/27

3/28
Lecture 18: Discussion of MP4: high resolution graphics; principles of generating fractals; installing mouse.

HW5 assigned

3/29

3/30
Lecture 19: Sound - Direct Memory Access (DMA), Digital Signal Processing (DSP), playing sound - example code

Lecture 19 (slides) - (pdf);
Reading
: Lab Notes: sections 19 and A13; example code (pmodelib/examples)

3/31

4/1

4/2

4/3

4/4
Lecture 20: Review session for Exam 2

4/5

MP4 due 5:00pm

4/6
EXAM 2 in Class

 

4/7

HW5 due

4/8

4/9

4/10

4/11
Lecture 21: Bresenham’s line drawing algorithm; Bresenham’s circle drawing algorithm.

Lecture 21 (slides) - (pdf);
Reading
: Hyde - Art of Assembly: sections: 6.8, 15.1.

4/12

4/13
Lecture 22: Interrupt topics: critical sections, scheduling, interrupt driven multitasking.

Lecture 22 (slides) - (pdf);
Reading
: Hyde: Art of Assembly: chapters 18 and 19.

HW6 assigned

4/14

4/15

4/16

4/17

4/18
Lecture 23: Networking, broadcast vs. unicast, reliable broadcast, TCP, UDP.

Lecture 23 (slides) - (pdf);
Reading
: Lab Notes: section A12; example implementation of TCP/UDP server and client (pmodelib/examples)

4/19

4/20
Lecture 24: Streaming SIMD extensions: (i) SIMD single-precision floating-point instructions, (ii) additional SIMD integer instructions, (iii) state management instructions.

Lecture 24 (slides) - (pdf);
Introduction to the Streaming SIMD Extensions, Intel.

4/21

HW6 due

4/22

4/23

4/24

4/25
Lecture 25: Processor-level detection and recovery, experimental assessment of processor failure behavior.

Lecture 25 (slides) - (pdf)

4/26

 

4/27
Lecture 26: Review session for
the Final Exam.

4/28

4/29

4/30

5/1

5/2
Lecture 27: Final project demonstrations.

Moved to Wednesday,
May 3, in the lab

5/3
Instruction Ends

5/4

5/5

5/6

5/7

5/8

5/9

5/10

Final EXAM
8:00-11:00 AM

5/11

5/12

5/13

 

Return to ECE390 Home Page Spring 2006