diff --git a/PLASMA/README.md b/PLASMA/README.md index e06c5fa4..e87c368e 100644 --- a/PLASMA/README.md +++ b/PLASMA/README.md @@ -143,8 +143,8 @@ After functions are defined, the main code for the module follows. There is no There are four basic types of data that can be manipulated: constants, variables, addresses, and functions. Memory can only be read or written as either a byte or a word. Bytes are unsigned 8 bit quantities, words are signed 16 bit quantities. Everything on the evaluation stack is treated as a word. Other than that, any value can be treated as a pointer, address, function, character, integer, etc. There are convenience operations in PLASMA to easily manipulate addresses and expressions as pointers, arrays, structures, functions, or combinations thereof. If a variable is declared as a byte, it can be accessed as a simple, single dimension byte array by using brackets to indicate the offset. Any expression can calculate the indexed offset. A word variable can be accessed as a word array in the same fashion. In order to access expressions or constants as arrays, a type identifier has to be inserted before the brackets. a ‘.’ character denotes a byte type, a ‘:’ character denotes a word type. Along with brackets to calculate an indexed offset, a constant can be used after the ‘.’ or ‘:’ and will be added to the base address. The constant can be a defined const to allow for structure style syntax. If the offset is a known constant, using the constant offset is a much more efficient way to address the elements over an array index. Multidimensional arrays are treated as arrays of array pointers. Multiple brackets can follow the ‘.’ or ‘:’ type identifier, but all but the last index will be treated as a pointer to an array. ``` - word hgrscan[] = [$2000,$2400,$2800,$2C00,$3000,$3400,$3800,$3C00] - word = [$2080,$2480,$2880,$2C80,$3080,$3480,$3880,$3C80] + word hgrscan[] = $2000,$2400,$2800,$2C00,$3000,$3400,$3800,$3C00 + word = $2080,$2480,$2880,$2C80,$3080,$3480,$3880,$3C80 hgrscan:[yscan][xscan] = fillval ```