Package edu.cornell.cs.sam.core

Interface Summary
HeapAllocator The HeapAllocator manages the SaM heap
Memory The Memory interface provides low-level memory access methods
Processor The processor is responsible for stepping through instructions, and manipulating the stack and registers.
Program The program object contains the symbol table for the program and the instructions to execute
ReferenceTable The Reference Table stores information about unresolved symbols - it keeps track of references to each symbol.
SymbolTable The SymbolTable allows symbol to address and address to symbol lookups.
Video The Video interface allows the processor to output data or to request input.
 

Class Summary
ExplicitFreeAllocator This allocator provides support for explicit malloc()/free() Expects heap size larger than Memory.UNIT_SIZE
HeapAllocator.Allocation Represents a heap allocation
Memory.Data Represents memory data
SamAssembler The SamAssembler is responsible for reading in a file and creating a Program object that can then be sent to the Processor for execution
SamAssembler.SamInstructionCache  
SamMemory Memory implementation: Integer Array - Alternating data/type fields, 32-bit wide - Even addresses contain type - Odd addresses contain data
SamProcessor Implementation of a SaM Processor
SamProgram Implementation of Program using an ArrayList for storage.
SamReferenceTable Reference table implementation using a hashtable of array lists with references.
SamSymbolTable SymbolTable implementation using two HashMaps, one for forward lookup and one for reverse.
Sys The Sys class provides a centralized point of access to all the system components.
 

Enum Summary
Memory.Type Represents memory type
 

Exception Summary
AssemblerException Specifies that there was an error while the assembler was loading the file
SystemException Indicates there was a System error (cpu/memory error) during execution