Week |
Topics |
Reading
|
Week 1 9/08
|
- Wed 9/8
- Introduction
- Syllabus
- The PC
- What's inside?
- The main players
- First program in assembly
- structure
- presentation
- documentation
- Fri 9/10
|
|
Week 2 9/13
|
- Monday 9/13
- Mini Lab
- Assembling with the -l option to generate a listing
nasm -f elf -F stabs -l helloworld.S helloworld.asm
- The memory contains numbers only
- Boolean Algebra
- Binary system
- logic expressions
- Wednesday 9/15
- Digital Electronics Lab in FH143
- Friday 9/17
- Digital Electronics Lab in FH143
|
|
Week 3 9/20
|
- Monday 9/20
- Three-bit adder. Review
- A word on Verilog and FPGAs Examples
- Architecture of the Pentium (simplified)
- Wednesday 9/22
- Friday 9/24
- Comments on lab reports
- Once again: Everything in memory is a number!
- Review the reverse engineering example
- Exercises on Binary/Hexadecimal (do on your own!)
- The mov instruction (covered here).
- Introduction to the 32-bit registers: EAX, EBX, ECX, EDX
- Introduction to the 16-bit registers: AX, BX, CX, DX
- Introduction to the 8-bit registers: AL, AH, BL, BH, CL, CH, DL, DH
|
|
Week 4 9/27
|
- Monday 9/27
- Wednesday 9/29
- Friday 10/1
- Arithmetic instructions: ADD, SUB, INC, DEC
- Logic instructions: AND, OR, NOT, XOR
- using DDD to debug programs
- Lab 4, Part 1
|
|
Week 5 10/04
|
- Monday 10/4
- Wednesday 10/6
- Representing negative numbers, Signed Magnitude, 1's complement, 2's complement.
- Exercises
- Friday 10/8
|
- Signed and unsigned numbers are covered in
Sections 1.7 and 1.8 and
Chap. 2
|
Week 6 10/11
|
- Wednesday 10/13
- Review 2's complement
- Logic Design: Building a "subtractor" with an adder, using only AND, OR, NOT and XOR gates.
- Mul/Div
- Exercise: Teller Machine
- Addressing Modes
|
Weekly Schedule
Week |
Topics |
Reading
|
Week 1 9/05
|
|
Chapter 1 in the Art of Assembly.
Also Chapter 3, Sections 0 to 3.1.2.
Sections 1.3.1, 1.3.2, 1.3.3, 1.3.4, and 1.3.5 in Carter's PC Assembly Language.
|
Week 2 9/08
|
- First introduction to the Pentium processor. Registers, ALU, Control Unit, Busses, Memory
- Exercises on binary, decimal, hexadecimal system
- Bin/Dec/Hex converter
- Listing file with assembly and opcodes
- Step by Step execution of instructions
- Exercise on reverse engineering. Solution
- The mov instruction. Syntax. Operands
- Units of storage: nybble, byte, word, double-word
- The add instruction.
- Using the ddd debugger
|
|
Week 3 9/15
|
- Review of last lab
- new instructions
- Binary adders, Boolean Algebra, and the ALU
- Signed and unsigned numbers
|
Signed and unsigned numbers are covered in
Sections 1.7 and 1.8 and
Chap. 2
Boolean Algebra
|
Week 4 9/22
|
|
- The signed and unsigned representations of numbers are covered in Sections 1.7 and 1.8 of The Art of Assembly, and in Chapter 2 of Carter's PC Assembly Language.
- Addressing modes are covered in Chapter 4 of The Art of Assembly. We won't cover "Displacement Only Addressing" modes (Section 4.6.2.1). Mentally replace 16-bit registers by 32-bit registers when reading this section.
|
Week 7 10/18
|
- Monday: In class Midterm Exam
|
|
Week 8 10/25
|
|
|
Week 9 11/01
|
|
|
Week 10 11/08
|
|
|
Week 11 11/15
|
|
|
Week 12 11/22
|
- Wednesday: Thanksgiving Break
- Friday: Thanksgiving Break
|
|
Week 13 11/29
|
|
|
Week 14 12/06
|
|
|
Week 15 12/13
|
|
|
List of Programs
Assembly
Miscellaneous Information
Linux Related
|