--D. Thiebaut (talk) 11:33, 11 July 2017 (EDT)
Home | Syllabus | Schedule |
Links & Resources | TA Hours
Topics: Introduction
|
Lab/Hw
|
Reading
|
- Syllabus
- Class accounts: run the command setup231.sh at the command line the first time you login to your account.
- The main players for this semester:
- Structure
- Presentation
- Documentation
|
|
- Reading
- 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. Note, Carter uses 1A92h to represent a hexadecimal number. I prefer 0x1A92.
|
Topics:
|
Lab/Hw
|
Reading
|
- Emacs Lab
- The assembly process
- Declaring strings, and their location in memory
|
|
- Reading
- 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. Note, Carter uses 1A92h to represent a hexadecimal number. I prefer 0x1A92.
|
Topics:
|
Lab/Hw
|
Reading
|
- Review
- The mov and add instructions
- Integers (32-bit format)
- Moving data around
- int x=3, x=5, sum; sum = x+y;
- slides
- Bash lab #2: history, pushd, popd, cat, less, head, tail, grep
|
|
|
Topics:
|
Lab/Hw
|
Reading
|
- How integers are stored in memory
- Endianness
- Pentium Data Registers
- declaring variables with db, dw, dd
- Exercises, exercises, exercises!
- Operating on bytes, words, and double-words
- byte-, word-, and doubleword-registers and variables
- Exercises, exercises, exercises
- Simple Computer Simulator (SCS)
- slides
|
|
|
Topics:
|
Lab/Hw
|
Reading
|
- More arithmetic operations
- Following the execution of a program with the Simple Computer Simulator.
- slides
- Linux Lab #4: Vi text editor, Redirection of stdin, stderr, and stdout
|
|
- Section 6.5.1.2 in Hall's Art of Assembly
- Sections 1.5 an 1.6 in Hall's Art of Assembly
- Section 6.5.6 and 6.5.7 on MUL and DIV in Hall's text. Skip the parts about IMUL, and IDIV which require knowledge of signed numbers. Also skip the part about the decimal adjust and other instructions in these sections.
- For next week, prepare by reading Section 1.7
|
Topics:
|
Lab/Hw
|
Reading
|
- Monday: Fall Break
- Wednesday
|
|
|
Topics:
|
Lab/Hw
|
Reading
|
- Binary addition
- Binary adder with logic gates
- Bash lab #6: Bash scripts, variables, arithmetic in bash.
|
|
|
Topics:
|
Lab/Hw
|
Reading
|
- Back to the LOOP instruction
- Indirect addressing & addressing modes
|
|
|
Topics:
|
Lab/Hw
|
Reading
|
- Introduction to the Game of Life
- Continue with game of life
- Flags register
- Jumps and Conditional Jumps
- Slides
|
|
|
Topics: Functions
|
Lab/Hw
|
Reading
|
- Continue with conditional jumps
- The Stack segment
- Push & Pop instructions
|
Solution programs
|
- Functions. Functions are also called procedures when dealing with assembly. You'll find this term used in Randy Hyde's documentation. Also, Hydes uses the proc and endp directives to define functions, which is fine. We won't in this class. Functions work just as well without!
|
Topics:
|
Lab/Hw
|
Reading
|
- We continue with functions and passing parameters via the stack
- Slides
- Wednesday/Friday THANKSGIVING BREAK
|
No homework assignment this week...
|
|
Topics: Recursion
|
Lab/Hw
|
Reading
|
- Studying a recursive Factorial function: Python, Java, Assembly, stack frame, stack overflow.
- Exploring various issues related to recursion
- Slides
|
Solution programs and answers for Homework #8
|
- Recursion chapter in Randy Hall's Art of Assembly. Hall uses 16-bit registers (ax, bx, bp, etc...) but the reasoning is the same as for 32-bit registers.
|
Topics: Fixed and Floating-Point Numbers
|
Lab/Hw
|
Reading
|
- Fixed-Point Numbers, U(a,b), and A(a, b)
- The Floating-point format
- Slides
|
- Homework 9 is a make-up homework that can be used to replace the grade of Homework 1 to Homework 8.
|
|
Topics:
|
Lab/Hw
|
Reading
|
- Floating Point operations
- Slides
|
|
- [CSC231_An_Introduction_to_Fixed-_and_Floating-Point_Numbers Fixed and Floating-point number formats]
|