[NAME,NAME,...] cheap size=>VALUE,align=>VALUE
"cheap" reserves space for local variables in the CHEAP storage section of a function's linkage area. This is on the stack, in memory that would normally be used if the current function called another function. If the current function makes no function calls, some of this linkage area may be used for local storage.
The amount of storage is very limited. An error message will be printed if "cheap" tries to reserve more storage than is available. A function may contain more than one call to "cheap", but will quickly run out of cheap storage.
[i,j]: cheap #generates { #start of code block .origin .ic(CHEAP) .align 1 i: .space 1 .align 1 j: .space 1 } .if .ic(CHEAP)-.lowest(CHEAP) > S_SIZE .error .concat("Too many words of cheap storage") .endif
Copyright © 1996, Thinkage Ltd.