Difference between revisions of "CSC231 Schedule Fall 2017"

From dftwiki3
Jump to: navigation, search
( )
Line 585: Line 585:
 
* '''Monday'''
 
* '''Monday'''
 
::* Floating Point operations
 
::* Floating Point operations
* '''Wednesday'''  
+
* '''Wednesday''' <font color="magenta">Last Class</font>
 
::* Floating Point operations
 
::* Floating Point operations
 
<br />
 
<br />
<font color="magenta">Last Class: Final take-home exam is given out.  Due a week later.</font>
 
 
|
 
|
&nbsp;
+
*  Final take-home exam is given out.  Due a week later.
 
|
 
|
 
* [http://www.science.smith.edu/dftwiki/index.php/CSC231_An_Introduction_to_Fixed-_and_Floating-Point_Numbers Fixed and Floating-point number formats]
 
* [http://www.science.smith.edu/dftwiki/index.php/CSC231_An_Introduction_to_Fixed-_and_Floating-Point_Numbers Fixed and Floating-point number formats]

Revision as of 10:11, 8 December 2017

--D. Thiebaut (talk) 11:33, 11 July 2017 (EDT)



Home | Syllabus | Schedule | Links & Resources | TA Hours



 


Week 1 Sept. 8    


Topics: Introduction Lab/Hw Reading
  • Friday
  • 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:
  • PC
  • Processor
  • Memory
  • Disk
  • 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.



 


Week 2 Sept. 11    


Topics: Lab/Hw Reading
  • Monday
  • Emacs Lab
  • The assembly process
  • Declaring strings, and their location in memory
  • Wednesday
  • Friday
  • 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.



 


Week 3 Sept. 18    


Topics: Lab/Hw Reading
  • Monday
  • Review
  • The mov and add instructions
  • Integers (32-bit format)
  • Wednesday
  • Moving data around
  • int x=3, x=5, sum; sum = x+y;
  • slides
  • Friday
  • Bash lab #2: history, pushd, popd, cat, less, head, tail, grep



 


Week 4 Sept. 25    


Topics: Lab/Hw Reading
  • Monday
  • How integers are stored in memory
  • Endianness
  • Pentium Data Registers
  • declaring variables with db, dw, dd
  • Exercises, exercises, exercises!
  • Wednesday
  • Operating on bytes, words, and double-words
  • byte-, word-, and doubleword-registers and variables
  • Exercises, exercises, exercises
  • Simple Computer Simulator (SCS)
  • slides
  • Friday



 


Week 5 Oct. 2    


Topics: Lab/Hw Reading
  • Monday
VideoLogo.png
VideoLogo.png
  • Wednesday
  • More arithmetic operations
  • Following the execution of a program with the Simple Computer Simulator.
  • slides
  • Friday
  • 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



 


Week 6 Oct. 9    


Topics: Lab/Hw Reading
  • Monday: Fall Break
  • Wednesday
  • Friday the 13!
BlackCat.png

 



 


Week 7 Oct. 16    


Topics: Lab/Hw Reading
  • Monday
  • Binary addition
  • Binary adder with logic gates
  • Wednesday
  • Friday



 


Week 8 Oct. 23    


Topics: Lab/Hw Reading
  • Monday

 



 


Week 9 Oct. 30    


Topics: Lab/Hw Reading
  • Monday
  • Back to the LOOP instruction
  • Indirect addressing & addressing modes
  • Wednesday
  • Friday



 


Week 10 Nov. 6    


Topics: Lab/Hw Reading
Serpinski.png
  • Monday
  • Introduction to the Game of Life
  • Wednesday
  • Continue with game of life
  • Flags register
  • Jumps and Conditional Jumps
  • Slides
  • Friday



 


Week 11 Nov. 13    


Topics: Functions Lab/Hw Reading
  • Monday
  • Continue with conditional jumps
  • The Stack segment
  • Push & Pop instructions
  • Wednesday
  • Friday


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!



 


Week 12 Nov. 20    


Topics: Lab/Hw Reading
  • Monday
  • We continue with functions and passing parameters via the stack
  • Slides


TurkeyThanksgiving.jpg
  • Wednesday/Friday THANKSGIVING BREAK

No homework assignment this week...



 


Week 13 Nov. 27    


Topics: Recursion Lab/Hw Reading
  • Monday
VideoLogo.png
  • Studying a recursive Factorial function: Python, Java, Assembly, stack frame, stack overflow.
  • Wednesday
  • Exploring various issues related to recursion
  • Slides
  • Friday


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.



 


Week 14 Dec. 4    


Topics: Fixed and Floating-Point Numbers Lab/Hw Reading
  • Monday
  • Fixed-Point Numbers, U(a,b), and A(a, b)
  • Wednesday
  • Friday
  • Homework 9 is a make-up homework that can be used to replace the grade of Homework 1 to Homework 8.



 


Week 15 Dec. 11    


Topics: Lab/Hw Reading
  • Monday
  • Floating Point operations
  • Wednesday Last Class
  • Floating Point operations


  • Final take-home exam is given out. Due a week later.