Computer Engineering II
  Lecture Notes

Schedule    Lab schedule
Homework    Lab Manual
Machine Problems    Resources
Final Project    Photos
Gradebook    Feedback
Syllabus    Archives
Lectures    Download NASM
Home    Restricted access

Fall 2005 (Loui)

  • Lecture 0:
    Course overview, DOS, x86 organization
  • Lecture 1:
    Memory organization, Hex and ASCII, pseudo-instructions
  • Lecture 2:
    MOV, CMP, flags, JMP, JE; [BX]; paradigms; MP0 studyle
  • Lecture 3:
    Signed/unsigned jumps, INC, DEC; loops; relative, based-indexed addressing
  • Lecture 4:
    Debugging, code review, code inspection, testing with Turbo Debugger; advice on program development
  • Lecture 5:
    Arithmetic: two’s complement, flags and jumps, ADD, SUB, shift
  • Lecture 6:
    Arithmetic: (I)MUL, (I)DIV, CWD, modular arithmetic
  • Lecture 7:
    Subroutines: stack, NEAR/FAR, linkage, EXTERN/GLOBAL, PUSHA/POPA
  • Lecture 8:
    Subroutines: argument transmission, interfacing to C, local variables
  • Lecture 9:
    Subroutines: local variables, recursion; macros
  • Lecture 10:
    I/O hardware, interrupt vector, CLI, STI, ES
  • Lecture 11:
    I/O: INT, 8253 timer, text mode video
    Assignments: MP4 (text mode video game), HW4, Final Project requests
  • Lecture 12:
    Data structures: array, queue, logical instructions
  • Lecture 13:
    I/O: priority, 8259 PIC, multitasking
  • Lecture 14:
    Priority assignment analysis, critical section; RS-232, 8250 ACE
  • Lecture 15:
    Pre-registration suggestions. Graphics: lines, circles
  • Lecture 16:
    Design and code inspection, pair programming; team meetings
  • Lecture 17:
    Data structures: linked list, tree; team meetings
  • Lecture 18:
    Protected mode; team meetings
  • Lecture 19:
    Floating point; team meetings
  • Lecture 20:
    Loop invariants; team meetings

Spring 2004 (Kalbarczyk)

  • Lecture 1: (html)(pdf)
    Course overview, software overview, number bases, signed/unsigned numbers.
  • Lecture 2: (html)(pdf)
    x86 registers, memory, programming model, memory accessing.
  • Lecture 3: (html)(pdf)
    More registers, addressing modes, instruction components, NASM basics.
  • Lecture 4: (html)(pdf)
    Processor flags, logic and shifting instructions, addition, subtraction, carry, overflow.
  • Lecture 5: (html)(pdf)
    Program control instructions: unconditional jumps, conditional branches, loops.
  • Lecture 6: (html)(pdf)
    More loops, program control structures, multiplication, division.
  • Lecture 7: (html)(pdf)
    Addition & Subtraction, Program Stack, Push/Pop, Procedures.
  • Lecture 8: (html)(pdf)
  • Lecture 9: (html)(pdf)
  • Lecture 10: (html)(pdf)
  • Lecture 11: (html)(pdf)
  • Lecture 12: (html)(pdf)
  • Lecture 13: (html)(pdf)
  • Lecture 14: (html)(pdf)
  • Lecture 15: (html)(pdf)
  • Lecture 16: (html)
Josh Potts Fall01 Lectures
Return to ECE390 Home Page Spring 2006