Difference between revisions of "CSC231 Schedule 2012"
(→Weekly Schedule) |
(→Weekly Schedule) |
||
Line 360: | Line 360: | ||
** Moving disks with the [[CSC231 Towers of Hanoi | Towers of Hanoi]] | ** Moving disks with the [[CSC231 Towers of Hanoi | Towers of Hanoi]] | ||
* '''Wednesday''' | * '''Wednesday''' | ||
+ | ** Q&A | ||
** Continuation with the Towers of Hanoi | ** Continuation with the Towers of Hanoi | ||
− | ** Observe [[CSC231_Towers_of_Hanoi#Enhanced_Version | hanoi2.py]] and its indented output | + | *** Observe [[CSC231_Towers_of_Hanoi#Enhanced_Version | hanoi2.py]] and its indented output |
− | ** Question 1: how much stack space is used when moving ''N'' disks? | + | *** Question 1: how much stack space is used when moving ''N'' disks? |
− | ** Question 2: How large a number of disks can we move with a stack of 1000 bytes? | + | *** Question 2: How large a number of disks can we move with a stack of 1000 bytes? |
− | ** Question 3: Removing the tail recursion. How does it affect the stack? | + | *** Question 3: Removing the tail recursion. How does it affect the stack? |
+ | ** '''Binary Search''' | ||
+ | ** What does the recursion tree look like for the ''Binary Search'' algorithm? | ||
+ | ** Would removing the tail recursion help Binary Search? | ||
** Printing an integer in decimal. | ** Printing an integer in decimal. | ||
*** The '''DIV''' instruction | *** The '''DIV''' instruction |
Revision as of 09:45, 28 November 2012
--D. Thiebaut 11:15, 24 August 2012 (EDT)
Misc. Links & Information
- NEW: All the class demo files, as of 11/26/12
- nasmld script
- Things to remember while programming in assembly
- The NASM Manual (http://alien.dowling.edu/~rohit/nasmdoc0.html)
- Paul Carter's assembly language tutorial. Paul Carter's page can be found at http://www.drpaulcarter.com/.
- The Art of Assembly Language. It assumes a different assembler, and hence a different syntax, but has a lot of very good information.
- The Pentium Instruction Set on Wikipedia.
- Programming the Arduino in assembly.
Weekly Schedule
Week | Topics | Reading |
Week 1 9/7 |
|
|
Week 2 9/10 |
|
|
Week 3 9/17 |
|
|
Week 4 9/24 |
int a = 3, b = 5, result = 0; result = a + b;
|
|
Week 5 10/1 |
|
|
Week 6 10/8 |
|
|
Week 7 10/15 |
|
|
Week 8 10/22 |
nasm -f elf -F stabs myProg.asm ; ld -melf_i386 -o myProg myProg.o ; ./myProg
shl reg, 1 shl mem, 1 shl reg, imm shl mem, imm shl reg, cl shl mem, cl
|
|
Week 9 10/29 |
|
|
Week 10 11/05 |
int main() { int a=3, b=5, res; res = sum( a, b ); ... } int sum( int x, int y ) { return x+y; }
|
|
Week 11 11/12 |
|
|
Week 12 11/19 |
|
|
Week 13 11/26 |
|
|
Week 14 12/03 |
|
|
Week 15 12/10 |
|
|
References
- ↑ 1.0 1.1 Intel Instruction Set Summary, from http://download.intel.com/design/processor/manuals/253666.pdf