# Functions

NewCPU initialize a new LC3 CPU.

# Constants

ADD 1 ~> add.
AND 5 ~> bitwise and.
BR 0 ~> branch.
FLGNEG for 'Negative' result.
FLGPOS for 'Positive' result.
FLGZRO for 'Zero' result.
GETC to get character from keyboard, not echoed onto the terminal.
HALT to halt the program.
IN to get character from keyboard, echoed onto the terminal.
JMP 12 ~> jump.
JSR 4 ~> jump register.
KBDR is a keyboard data.
KBSR is a keyboard status.
LD 2 ~> load.
LDI 10 ~> load indirect.
LDR 6 ~> load register.
LEA 14 ~> load effective address.
NOT 9 ~> bitwise not.
OUT to output a character.
PUTS to output a word string.
PUTSP to output a byte string.
RES 13 ~> reserved (unused).
RTI 8 ~> unused.
ST 3 ~> store.
STI 11 ~> store indirect.
STR 7 ~> store register.
TRAP 15 ~> execute trap.

# Structs

CPU is a LC-3 CPU emulator.