assembler and
built-in chips and
Jack and
stack arithmetic and
standard libraries
VM and
Java Runtime Environment
Java Virtual Machine (JVM)
Jump
nested subroutine calling and
specification
Keyboard input
Jack and
operating systems and
string reading and
text handling and
visualized chip operations and
Labels
Last-in-first-out (LIFO) storage model
Least significant bits (LSB)
Lexical analysis
XML and
Lexical analysis (LEX) tool
Line drawing
Linked list
Linux
Load command
Logic
Boolean(
see
also Boolean logic)
control logic and
decoding
fetching
HDL and
instruction execution
jumps
stack processing and(
see
also Stack processing)
stored program concept and
Machine language
abstraction and
addressing and
assembler and
binary codes and
commands and
compilers and(
see
also Compilers)
conditional execution
Hack
instruction memory and
labels and
memory and
mnemonic symbols
processor and
program size limits and
registers and
repetition and
subroutine calling
symbolic vs. binary
syntax and
testing and
unconditional jump
variables and
VM and(
see
also Virtual Machine)
Macro commands
Mapping
I/O operations and
keyboard handling and
memory segments and
VM-to-Hack
VM-to-Jack
Memory
addresses and(
see
also Addresses)
allocation and
arrays and
clocks and
compilers and
dynamic allocation and
flip-flops and
fragmentation and
graphics and
Hack and
implementation and
improved allocation and
instruction
Jack and
machine language and
mapped input/output (I/O) and
object handling and
operating systems and
RAM(
see
also Random access memory)
registers and
stored program concept and
subroutines and
testing and
variable locations and
virtual segment mapping and
visualized chip operations and
VM and
von Neumann architecture and
Mnemonics
Multi-bit bus
Multiplexors
Multiplication
Multitasking
Nand function
Negative numbers
Nested subroutine calling
.NET infrastructure
Network interface cards
Newton-Raphson method
Non-terminals
Nor function
Not function
Number base
Object types
Operating systems
API notation and
arrays and
classes and
description of
graphics and
hardware/software gaps and
initialization and
input/output (I/O) management
Jack and(
see
also Jack)
mathematical operations and
memory and
program size limits and
screens and
strings and
Sys and
Operator priority
Or function
implementation of
multi-bit versions of
multi-way versions and
Overflow
Parsing
assembler and
compilers and(
see
also Compilers)
expression evaluation and
grammar and
Jack and
programming and
recursive descent
symbol-less
VM and
Pascal
P-code
Pins
Pixel drawing
Pointers
Pop operation
Positive numbers
Postfix notation
Primitive gates
Program counter
Program flow
assembly language symbols and
bootstrap code and
calling protocol and
LIFO model and
nested subroutine calling and
VM
Push operation
Radix complement method
RAM. See Random access memory
Random access memory (RAM)
clocked chips and
Hack platform and
implementation of
memory management and
operating systems and
registers and
sequential logic and
testing and
VM and
Rational numbers
Read-only memory (ROM) chips
Read/write operations
memory and
registers and
Recursive descent parsing
Reduced Instruction Set Computing (RISC)
Registers
addresses and
API specification and
architecture of
CPU and
Hack and
implementation of
machine language and
memory and
RAM and
read-write operations and
testing and
virtual
visualized chip operations and
Reserved words
Return address
Right Polish Notation (RPN)
Rogers, Carl
RPN. See Right Polish Notation
Screen output
characters and
graphics and
Jack and
operating systems and
resolution and
visualized chip operations and
Segment index
Selectors
Semantics. See also Symbols; Syntax data translation and
Sequential logic
chip hierarchy and
clocks and
feedback loops and
flip-flops and
memory and
time and
Signed binary numbers
Simulators
testing and
Square root function
Stack pointer
Stack processing
arithmetic and
bootstrap code and
heap structure and
LIFO model and
memory and
model of
nested subroutine calling and
pop operation
push operation
subroutines and
VM-Hack mapping and
Standard language library
Standard mapping
Store command
Stored program concept
Strings
Jack and
keyboard handling and
operating systems and
Subroutines
calling protocol and
code generation and
functional commands and
Jack and
LIFO model and
void
Switching technology
Symbols
assembler and
function calling and
Jack and
labels
machine language and
mnemomic
resolution and
variables and
Symbol tables
data translation and
Jack and
Syntax
expression evaluation and
formal languages and
non-terminals and
RPN
semantics and
terminals and
testing and
XML and
Taylor series
Terminals
Testing
chips
emulators and
GUI and
machine language and
script commands and
simulators and
test scripts
VM and
Text files
Time
clocks
counters
sequential logic
testing and
Tokens
Jack tokenizing
syntax analyzer and
Transistors
Translator program
Truth tables
Turing, Alan
Turing machine
Two-input Boolean functions
2’s complement method
Unconditional jump
Unix
Variables
argument
fields
Jack and
local
parameter
scope and
static
Virtual Hardware Description Language (VHDL)
Virtual Machine (VM)
advantages of
arithmetic and
array handling and
bootstrap code and
class and
compilers and
design suggestions for
emulators and
examples of
functions and
Hack mapping and
heap structure and
high-level language and
implementation
Jack and
language for
memory and
modifications and
modularity and
nested subroutine calling and
object handling and
program flow and