Difference between revisions of "CSC231 Schedule Fall 2017"
(→ ) |
(→ ) |
||
(103 intermediate revisions by the same user not shown) | |||
Line 354: | Line 354: | ||
| | | | ||
* '''Monday''' | * '''Monday''' | ||
− | ::* Back to the LOOP | + | ::* Back to the LOOP instruction |
− | ::* Indirect addressing | + | ::* Indirect addressing & addressing modes |
* '''Wednesday''' | * '''Wednesday''' | ||
+ | ::* Addressing modes | ||
+ | ::* [[Media:CSC231_slides_week9_F17.pdf| Slides]] | ||
* '''Friday''' | * '''Friday''' | ||
+ | ::* [[CSC231_Bash_Tutorial_8 | Bash lab #8 + video introduction]]: Bash functions | ||
| | | | ||
− | * [[CSC231 Homework 5 Fall 2017| Homework #5]], due 11/ | + | * [[CSC231 Homework 5 Fall 2017| Homework #5]], due 11/6/2017 at 11:55 p.m. |
+ | * [[CSC231_Homework_5_Fall_2017#Solutions | Solution programs for Homework #5]] | ||
| | | | ||
− | * | + | * [http://cs.smith.edu/~dthiebaut/ArtOfAssembly/CH06/CH06-5.html#HEADING5-294 The Loop Instruction (Section 6.9.6)] |
+ | * [http://cs.smith.edu/~dthiebaut/ArtOfAssembly/CH04/CH04-2.html#HEADING2-35 The Register Indirect addressing mode (Section 4.6.2.2)] | ||
+ | * [http://cs.smith.edu/~dthiebaut/ArtOfAssembly/CH04/CH04-2.html#HEADING2-35 Other Addressing modes (up to Section 4.6.2.5)] | ||
|} | |} | ||
<br /> | <br /> | ||
Line 386: | Line 392: | ||
|-valign="top" | |-valign="top" | ||
| | | | ||
+ | [[Image:serpinski.png|right|200px]] | ||
* '''Monday''' | * '''Monday''' | ||
+ | ::* Introduction to the Game of Life | ||
* '''Wednesday''' | * '''Wednesday''' | ||
+ | ::* Continue with game of life | ||
+ | ::* Flags register | ||
+ | ::* Jumps and Conditional Jumps | ||
+ | ::* [[Media:CSC231_slides_week10_F17.pdf | Slides]] | ||
* '''Friday''' | * '''Friday''' | ||
+ | ::* [[Media:CSC231_C_Tutorial_2017.pdf | C Tutorial #1]] | ||
| | | | ||
− | + | * [[CSC231 Homework 6 Fall 2017| Homework #6]], due Monday Nov 13 at 11:55 p.m. <br />[[CSC231_Homework_6_Fall_2017#Solution_Assembly_Program| Solution assembly program]]. | |
| | | | ||
− | * | + | * [http://cs.smith.edu/~dthiebaut/ArtOfAssembly/CH06/CH06-5.html#HEADING5-3 Unconditional Jump] |
+ | * [http://cs.smith.edu/~dthiebaut/ArtOfAssembly/CH06/CH06-1.html#HEADING1-27 The Flags Register] | ||
+ | * [http://cs.smith.edu/~dthiebaut/ArtOfAssembly/CH06/CH06-5.html#HEADING5-226 Conditional Jumps] | ||
+ | * [http://cs.smith.edu/~dthiebaut/ArtOfAssembly/CH06/CH06-2.html#HEADING2-244 CMP instruction] | ||
+ | |||
|} | |} | ||
<br /> | <br /> | ||
Line 412: | Line 429: | ||
{| class="mw-collapsible " style="width:100%" border="1" | {| class="mw-collapsible " style="width:100%" border="1" | ||
|- style="background:#dddddd;" | |- style="background:#dddddd;" | ||
− | |width="60%"| '''Topics''': | + | |width="60%"| '''Topics''': Functions |
|width="15%"| '''Lab/Hw''' | |width="15%"| '''Lab/Hw''' | ||
|width="25%"| '''Reading''' | |width="25%"| '''Reading''' | ||
Line 418: | Line 435: | ||
| | | | ||
* '''Monday''' | * '''Monday''' | ||
+ | ::* Continue with conditional jumps | ||
+ | ::* The Stack segment | ||
+ | ::* Push & Pop instructions | ||
* '''Wednesday''' | * '''Wednesday''' | ||
+ | ::* Functions | ||
+ | ::* [[CSC231 Code Snippets | Examples]] of assembly code. | ||
+ | ::* [[Media:CSC231_slides_week11_F17.pdf | Slides]] | ||
* '''Friday''' | * '''Friday''' | ||
+ | ::* [[Media:CSC231_C_Tutorial_2017.pdf | C Tutorial #2]] | ||
| | | | ||
− | + | * [[CSC231_Homework_7_Fall_2017 | Homework #7]], due <strike>11/20/17</strike> 11/27/17 at 11:55 p.m. | |
+ | <br /> | ||
+ | [[CSC231_Homework_7_Fall_2017#Solutions | Solution programs]] | ||
| | | | ||
− | * | + | * [http://cs.smith.edu/~dthiebaut/ArtOfAssembly/CH11/CH11-1.html#HEADING1-0 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! |
+ | |||
|} | |} | ||
<br /> | <br /> | ||
Line 449: | Line 476: | ||
| | | | ||
* '''Monday''' | * '''Monday''' | ||
− | * ''' | + | ::* We continue with functions and passing parameters via the '''stack''' |
− | * '''Friday''' | + | ::* [[Media:CSC231_slides_week12_F17.pdf | Slides]] |
+ | |||
+ | <br /> | ||
+ | [[Image:TurkeyThanksgiving.jpg|right|150px]] | ||
+ | * '''Wednesday/Friday''' <font color="magenta">THANKSGIVING BREAK</font> | ||
| | | | ||
− | + | <font color="magenta">'''No homework assignment this week...''' </font> | |
| | | | ||
− | * | + | * |
|} | |} | ||
<br /> | <br /> | ||
Line 474: | Line 505: | ||
{| class="mw-collapsible " style="width:100%" border="1" | {| class="mw-collapsible " style="width:100%" border="1" | ||
|- style="background:#dddddd;" | |- style="background:#dddddd;" | ||
− | |width="60%"| '''Topics''': | + | |width="60%"| '''Topics''': Recursion |
|width="15%"| '''Lab/Hw''' | |width="15%"| '''Lab/Hw''' | ||
|width="25%"| '''Reading''' | |width="25%"| '''Reading''' | ||
Line 480: | Line 511: | ||
| | | | ||
* '''Monday''' | * '''Monday''' | ||
− | + | [[Image:VideoLogo.png|50px| right | link=https://www.youtube.com/watch?v=Wfrj30cJJ-0]] | |
− | * '''Wednesday | + | ::* Studying a recursive Factorial function: Python, Java, Assembly, stack frame, stack overflow. |
+ | * '''Wednesday | ||
+ | ::* Exploring various issues related to recursion | ||
+ | ::* [[Media:CSC231_slides_week13_F17.pdf | Slides]] | ||
+ | * '''Friday''' | ||
+ | ::* [[Media:CSC231_C_Tutorial_2017.pdf | C Tutorial #3]] | ||
| | | | ||
− | + | * [[CSC231 Homework 8 Fall 2017| Homework #8]], due 12/4/17 @ 11:55 p.m. | |
+ | <br />[[CSC231_Homework_8_Fall_2017#Solution_Program| Solution programs and answers for Homework #8]] | ||
| | | | ||
− | * | + | * [http://cs.smith.edu/~dthiebaut/ArtOfAssembly/CH11/CH11-7.html#HEADING7-86 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. |
+ | |||
|} | |} | ||
<br /> | <br /> | ||
Line 492: | Line 530: | ||
WEEK 14 | WEEK 14 | ||
================================================== --> | ================================================== --> | ||
− | + | <br /> | |
==== ==== | ==== ==== | ||
---- | ---- | ||
{| style="width:100%" border="0" | {| style="width:100%" border="0" | ||
− | |width="45%"|'''Week 14''' | + | |width="45%"|'''Week 14''' Dec. 4 |
|width="20%"| ''' ''' | |width="20%"| ''' ''' | ||
|width="25%"| ''' ''' | |width="25%"| ''' ''' | ||
Line 505: | Line 543: | ||
{| class="mw-collapsible " style="width:100%" border="1" | {| class="mw-collapsible " style="width:100%" border="1" | ||
|- style="background:#dddddd;" | |- style="background:#dddddd;" | ||
− | |width="60%"| '''Topics''': | + | |width="60%"| '''Topics''': Fixed and Floating-Point Numbers |
|width="15%"| '''Lab/Hw''' | |width="15%"| '''Lab/Hw''' | ||
|width="25%"| '''Reading''' | |width="25%"| '''Reading''' | ||
Line 511: | Line 549: | ||
| | | | ||
* '''Monday''' | * '''Monday''' | ||
+ | ::* Fixed-Point Numbers, ''U''(a,b), and ''A''(a, b) | ||
* '''Wednesday''' | * '''Wednesday''' | ||
+ | ::* The Floating-point format | ||
+ | ::* [[Media:CSC231_slides_week14_F17.pdf | Slides]] | ||
* '''Friday''' | * '''Friday''' | ||
+ | ::* [[Media:CSC231_C_Tutorial_2017.pdf | C Tutorial #4]] | ||
| | | | ||
− | + | * [[CSC231_Homework_9_Fall_2017 |Homework 9]] is a make-up homework that can be used to replace the grade of Homework 1 to Homework 8. | |
+ | <br /> | ||
+ | * [[CSC231_Homework_9_Fall_2017#Solution_Programs | Solution programs]] for Homework 9. | ||
| | | | ||
− | * | + | * [http://www.science.smith.edu/dftwiki/index.php/CSC231_An_Introduction_to_Fixed-_and_Floating-Point_Numbers Fixed and Floating-point number formats] |
|} | |} | ||
<br /> | <br /> | ||
Line 528: | Line 572: | ||
---- | ---- | ||
{| style="width:100%" border="0" | {| style="width:100%" border="0" | ||
− | |width="45%"|'''Week 15''' Dec. | + | |width="45%"|'''Week 15''' Dec. 11 |
|width="20%"| ''' ''' | |width="20%"| ''' ''' | ||
|width="25%"| ''' ''' | |width="25%"| ''' ''' | ||
Line 541: | Line 585: | ||
|-valign="top" | |-valign="top" | ||
| | | | ||
− | * '''Monday | + | * '''Monday, Wednesday''' |
− | + | ::* Floating Point operations | |
− | * | + | ::* [[Media:CSC231_slides_week15_F17.pdf | Slides]] |
− | |||
− | |||
− | |||
− | |||
− | * | ||
− | | | ||
− | |||
− | |||
− | |||
− | |||
<br /> | <br /> | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
| | | | ||
− | + | * [[CSC231 Final Exam Fall 2017 | Final take-home exam]] is given out on <font color="magenta">Wednesday</font>. Due a week later. | |
| | | | ||
− | * | + | * [[CSC231_An_Introduction_to_Fixed-_and_Floating-Point_Numbers | Fixed and Floating-point number formats]] |
|} | |} | ||
<br /> | <br /> |
Latest revision as of 18:35, 6 January 2018
--D. Thiebaut (talk) 11:33, 11 July 2017 (EDT)
Week 1 Sept. 8 |
Topics: Introduction | Lab/Hw | Reading |
|
|
|
Week 2 Sept. 11 |
Topics: | Lab/Hw | Reading |
|
|
Week 3 Sept. 18 |
Topics: | Lab/Hw | Reading |
|
|
|
Week 4 Sept. 25 |
Topics: | Lab/Hw | Reading |
|
|
|
Week 5 Oct. 2 |
Topics: | Lab/Hw | Reading |
|
|
|
Week 6 Oct. 9 |
Topics: | Lab/Hw | Reading |
|
|
|
Week 7 Oct. 16 |
Topics: | Lab/Hw | Reading |
|
|
|
Week 8 Oct. 23 |
Topics: | Lab/Hw | Reading |
|
|
Week 9 Oct. 30 |
Topics: | Lab/Hw | Reading |
|
|
Week 10 Nov. 6 |
Topics: | Lab/Hw | Reading |
|
|
Week 11 Nov. 13 |
Topics: Functions | Lab/Hw | Reading |
|
|
|
Week 12 Nov. 20 |
Topics: | Lab/Hw | Reading |
|
No homework assignment this week... |
|
Week 13 Nov. 27 |
Topics: Recursion | Lab/Hw | Reading |
|
|
|
Week 14 Dec. 4 |
Topics: Fixed and Floating-Point Numbers | Lab/Hw | Reading |
|
|
Week 15 Dec. 11 |
Topics: | Lab/Hw | Reading |
|
|