Difference between revisions of "CSC231 Schedule 2012"

From dftwiki3
Jump to: navigation, search
(Misc. Links & Information)
(Weekly Schedule)
Line 284: Line 284:
 
  }
 
  }
 
   
 
   
  int sum( x, y ) {  
+
  int sum( int x, int y ) {  
 
     return x+y;  
 
     return x+y;  
 
  }
 
  }
 
    
 
    
 
* '''Wednesday'''  
 
* '''Wednesday'''  
 +
** review passing of ''value'' parameters through the stack
 +
** functions returning values...
 +
** local variables...
 
* '''Friday'''
 
* '''Friday'''
 
----
 
----

Revision as of 09:21, 7 November 2012

--D. Thiebaut 11:15, 24 August 2012 (EDT)


Misc. Links & Information

Weekly Schedule

Week Topics Reading
Week 1
9/7



Week 2
9/10

  • Reading
Week 3
9/17

JacquardLoom.jpgJacquardLoom2.jpg

    • Get the list of all the assembly programs seen in class:
ls -ltr ~231a/handout
    • Get one of the files into your 231a-xx account:
getcopy movStrings1.asm
    • Or use sftp
sftp 231a-xx@beowulf.csc.smith.edu (and then use put filename or get filename to transfer files)

Week 4
9/24
  • Monday
    • Q&A
    • Solutions to HW #2 posted (see above).
    • The ADD instruction
int a = 3, b = 5, result = 0; 
result = a + b;


  • Reading
    • Sections 2.2, 2.2.1, 2.2.2, 2.2.3, and 2.2.4 in the Nasm Manual
    • Sections 3.1 to 3.2.1 in the Nasm Manual
    • The INC instruction.
Week 5
10/1
  • Monday
    • Review of two-bit Adder




  • Wednesday
  • Friday
    • Review of 2's Complement: Exercise in need of a solution...
    • Extending the sign from byte to word, or word to double-word.
      • CBW: The CBW (convert byte to word) instruction copies the sign (bit 7) in the source operand (AL) into every bit in the AH register.[1]
      • CWDE: The CWDE instruction copies the sign (bit 15) of the word in the AX register into every bit position of the high word of the EAX register[1].
    • Masking with AND, OR, and NOT, an example
CSC231StateDiagramForSoftwareProgram.png

Week 6
10/8
  • Monday: Fall Break
CSC231SummaryAddressingModes.png
  • Wednesday
    • Bitwise operators vs logical operators in Java. Example
    • More Addressing modes:
      • base/indirect
      • base/indirect with diplacement
      • base/inderect indexed
      • base/indirect indexed with displacement
    • The Loop instruction. Exercises with Loops
    • Fibonacci with loops and new addressing modes: Examples
  • Friday

Week 7
10/15

  • No homework assignment this week.
  • Reading
Week 8
10/22
  • Monday
    • Using a Makefile
    • Another trick. Keep the nasm, ld, and run commands in one line in your history:
nasm -f elf -F stabs myProg.asm ; ld -melf_i386 -o myProg myProg.o ; ./myProg
    • The Shift instructions
      • SHL, SHR, SAR, SAL
       shl     reg, 1
       shl     mem, 1
       shl     reg, imm         
       shl     mem, imm        
       shl     reg, cl
       shl     mem, cl

Week 9
10/29
Bad!!!

  • Reading
    • Functions and the topics associated with passing parameters are covered in Carter's Manual on Assembly Language, in Chapter 4, titled Subprograms.
Week 10
11/05
Move quickly!!!
  • Monday
    • Finish the top-down example
    • Review the actions of passing parameters through registers. The concept of functions returning values is directly implementable using registers (in most cases).
    • Using EBP to pass more than 4/6 dword parameters:
int main() { 
   int a=3, b=5, res;
   res = sum( a, b );
   ...
}

int sum( int x, int y ) { 
   return x+y; 
}
 
  • Wednesday
    • review passing of value parameters through the stack
    • functions returning values...
    • local variables...
  • Friday

  • Reading
    • Functions and the topics associated with passing parameters are covered in Carter's Manual on Assembly Language, in Chapter 4, titled Subprograms.
Week 11
11/12
  • Monday
  • Wednesday
  • Friday

  • Reading
Week 12
11/19
  • Monday
  • Wednesday Thanksgiving Break
  • Friday Thanksgiving Break

  • Reading
Week 13
11/26
  • Monday
  • Wednesday
  • Friday

  • Reading
Week 14
12/03
  • Monday
  • Wednesday
  • Friday: No Class

  • Reading
Week 15
12/10
  • Monday
  • Wednesday Last Class

  • Reading





References