Write in C language several functions that use the PC's keyboard low level interface. The key functionality to implement is:
Furthermore, we want you to learn:
Unlike in previous labs you are not given the prototypes of the functions to implement: the specification of these functions is part of your job. However, to make the task of grading your assignment feasible, you are required to implement the following test functions:
These functions are declared in header file test3.h, and source file test3.c contains their implementation stubs. You may find it convenient to add your test code to that file; this way you will avoid mistakes in their definition. Section 5 describes what these functions should do.
This lab is planned for two lab classes.
The goal for the first class is to implement:
Therefore, for the first class you should read the material presented in the lectures about the PC's keyboard and this handout, except Sections 4.3, 4.4 and 5.3, which are for the second class.
Furthermore, you should:
You may wish to read the information provided in Section 8 about some SVN commands that may be useful to perform these actions.
The goal for the second class is to implement:
Therefore, for the second class you should read also Sections 4.3, 4.4 and 5.3 of this handout, and the material presented in the lecture about assembly programming. Furthermore you should also refresh your knowledge of IA32 assembly programming.