Practical sessions and labs for Architecture course 2006 (preliminary)
---------------------------------------------------------
1. Tirgul: (week 1)
----------
- basic assembly instructions
- jump & loop instructions (for assignment 0)
- byte structure
- registers
- flags
- ASCII code (reminder)
- labels definition
- 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 upper case to lower case and vice versa.
2. get string and print it in hexadecimal.
- 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.
7. Lab: (week 9 or 10 - depending on group)
-----------
- Worm
8. Tirgul: (week 11)
----------------------
Advanced issues.
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.