Watch Entire Series: http://www.youtube.com/view_play_list...
Note 1. See one correction below...
Info: 2. This is part 3 of the subsection: "Building a program from scratch"
1. Although I wasn't able to reproduce everything I saw during my experiments, I certainly reproduced enough to demonstrate that nobody should ever use the IN instruction. At least not anyone who isn't an absolute expert. So luckily, we needn't look at the possibility of direct access to the keyboard port. And that's a good thing since it means we're protected somewhat by the operating system there.
2. Much of the lesson involves exploring and experimentation. Especially of the mysterious "in".
3. I finally managed to get to the explanation of what an interrupt call is, and on several occasions I was able demonstrate the use (and utility of) what's called the "debug interrupt" (int 3) otherwise referred to as a "setting a breakpoint".
4. IN still remains a mystery. And any "input" (ugh... ) would be welcome!
5. CORRECTION:
At some point I claim that some code was placed by IN (at offset 106 I think). After reviewing the video, I saw immediately that my recollection was incorrect; the code there did not change.