4.3 Interrupt Listing
The LockIT Pro has an augmented MSP430 CPU with a callgate at address
0x10 causing a software interrupt. The interrupts are described below.

INT 0x00.
The putchar interrupt: sends a single byte to the display.
Takes one argument with the character to print.

INT 0x01.
The getchar interrupt: reads a single byte of buffered input.
Takes no arguments.

INT 0x02.
The gets interrupt: read a specific number of bytes to standard input.
Takes two arguments. The first is the address to place the string, the
second is the maximum number of bytes to read. Null bytes are not handled
specially null-terminated.

INT 0x10.
Turn on DEP: pages are either executable or writable but never both.
Takes no arguments.

INT 0x11.
Mark as a page as either only executable or only writable.
Takes two one arguments. The first argument is the page number, the
second argument is 1 if writable, 0 if executable.

INT 0x20.
The rand interrupt: request a random 16-bit number.
Takes no arguments.

INT 0x7D.
Interface with the HSM-1. Set a flag in memory if the password passed in is
correct.
Takes two arguments. The first argument is the password to test, the
second is the location of a flag to overwrite if the password is correct.

INT 0x7E.
Interface with the HSM-2. Trigger the deadbolt unlock if the password is
correct.
Takes one argument: the password to test.

INT 0x7F.
Interface with deadbolt to trigger an unlock if the password is correct.
Takes no arguments.
