|
|
Line 440: |
Line 440: |
| * '''Wednesday''' | | * '''Wednesday''' |
| ::* Functions | | ::* Functions |
| + | ::* [[CSC231 Code Snippets | Examples]] of assembly code. |
| ::* [[Media:CSC231_slides_week11_F17.pdf | Slides]] | | ::* [[Media:CSC231_slides_week11_F17.pdf | Slides]] |
| * '''Friday''' | | * '''Friday''' |
Revision as of 09:04, 14 November 2017
--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
|
|
- 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
|
- Wednesday/Friday THANKSGIVING BREAK
|
|
|
Topics:
|
Lab/Hw
|
Reading
|
- Monday
- Wednesday Last Class
|
|
|