The course include a set of laboratory sessions (two hours each). Students are expected find and read reference material on their own as preparation. Links and information given in the lab instruction, on the course homepage, and on lectures is a good starting point.
The lab assignments are to be done in groups of two students (using one computer). You must keep the same partner for all assignments.
You are expected to read and prepare the material related to the lab before going to the supervised laboratory sessions. In this way, you may take more advantage of the laboratory time.
The scheduled laboratory sessions are intended for asking questions, getting support from your lab assistant, and demonstrating your assignment solution when it is complete.
The course will have two groups, one for each assistant, but all labs will run in common and in the same room. Please keep track of your assistant and prefer your assistant when you ask questions.
You must choose your lab partner and sign up for the labs through the web interface. You log in using the same user name and password as you use when logging on IDA's computer system.
The deadline for lab registration is 12th of April 2013.
N.B! It will NOT be possible to demonstrate labs after the course finish. If you do not manage to finish all labs you must attend the labs again next year (and the labs may be different then).
The FINAL HARD deadline for lab registration is 24th of May 2013.
Please, be careful to point out anything strange you find in the instruction. (Factual errors, Nonworking instructions, Grammatic errors, Spelling errors, or simply things you think are uncommonly well described :-)
- Old slides with good x86 and assembler information.
- Short reference to available functions.
- NASM reference
- NASM tutorial
- x86 Instruction set
- The Art of (x86) Assembly Language Programming, Se specially chapter 3, 17, 22 for lab 3
- Lab 0, Bit manipulation in C (not embedded)
- Getting started (prepare lab (1),2,3)
- Lab 1, Measure CPU frequency CANCELLED
- Lab 2, Multiply 64-bit integers (assembler and C)
- Lab 3, Serial port read and write (assembler)
- Lab 4, Non-preemptive threading (Multi-C)
- Lab 5, Preemptive threading (uC/OS-II)
- Lab 6, Time order and state machine
Demonstration and DEADLINES
Please refer to your group schedule. You can find it on the Timetable page.
In order to pass the labs, students are required to demonstrate each assignment to the lab assistant. The final hard deadline to do this and get the last lab approved it on the last scheduled lab session.
See the schedule on the course homepage to determine the deadline for each lab and to determine when the last lab session occur for the group you've selected.
Page responsible: Klas Arvidsson
Last updated: 2013-05-08