Practical sessions and labs for Architecture course 2007 (preliminary)
---------------------------------------------------------
1. Tirgul: (week 1)
----------
- basic assembly instructions
- jump & loop instructions (for assignment 0)
- words, bytes, and bits
- registers
- flags
- ASCII code (reminder)
- label definitions
- assignment 0: add functions for various series
2. Lab: (week 2 or 3 - depending on group)
----------
- two simple programs to do:
1. get string and convert numbers 0-9 to letters A-J.
2. get list of hexadecimal numbers and print as ASCII string.
- Producing a listing and using it (e.g. to determine machine code length)
- stack
- combined program of C and assembly
- program to do:
1. take C main simple file and assembly it.
Observe parameters pass in C, compare to material given in class.
Write a little program that uses C main, C function and assembly function:
C main calls to assembly function, assembly function calls to C functin etc.
3. Tirgul: (week 4)
----------
- sections
- advanced instructions: shift, rotate, mul, jump, masking, branch
- work with memory
- work with strings
4. Tirgul: (week 5)
--------------------
- NASM macros
- disassembly
- basics of self-modifying code
5. Lab: (week 6 or 7 - depending on group)
----------
- co-routines
* Basic scheme - implementation and testing:
initializing and exiting the co-routines mechanism
* Using the co-routine mechanism to develop a rudimentary
threads package - introduction.
6. Tirgul: (week 8)
--------
- Basic independent position code (IPC).
- Introduction to homework exercise.
(Note, order of tirgul 8 and lab (7) have been changed around
due to constraints, and Hanuka)
8. Tirgul: (week 9)
----------------------
Advanced issues.
7. Lab: (week 10 or 11 - depending on group)
-----------
- Worm
9. Tirgul: (week 12)
-----------
- pipeline
10. Tirgul: (week 13)
-----------
If we would cover all the material, it will be a tirgul hazara,
i.e. questions from previous exams, etc.