Comments
Loading Dream Comments...
You must be logged in to write a comment - Log In
Just a note to remind me how the $C, $D, and $E Opcodes/Tags are used. $C has three main uses ($C, $CC; $CD, $CE; $CA, $CB, $CF) : In a buffer element, if the first nibble is $C then it tags it as String (i.e. Character) data. If the following nibble is also $C (i.e. $CC) then the representation is UTF8 (extended ASCII and foreign characters), else it is WSCII (internal character code). If a numeric item *ends* with $C (the next nibble therefore being $D or $E, thus $CD or $CE), then it is negative (similar to IBM360's use of $D in COMP-3 pic data items). $C can also immediately proceed $A (as in $CA) to indicate a constant address (prevents respecification); $B (see "The $B Opcode) to indicate an invariant (read-only) buf (as in $CB); and $F (as in $CF) to indicate a locked task or procedure. Now onto the $D tag. This is a delimiter between buf elements (coded as a comma, as in (1, 2, 3) which is $1D2D3E in ::SHE+ILA::. And finally $E is the "end tag" representing the end of a buf. In a procedure, $FE is often used instead.