80-Bus News |
May–June 1983 · Volume 2 · Issue 3 |
| Page 34 of 59 |
|---|
The workings of Nascom ROM BASIC Ver 4.7 | PAGE 14 | ||
|---|---|---|---|
DIM | DIM routine. Flag “create” variable and join common. | ||
GETVAR | EF2D |
Look for specified variable. Use FORFLG to:– | |
FRE | FRE(X) routine. If X is a numeric expression then return the amount of memory between ARREND and the stack. If X is a string expression then do a “Garbage collection” and return the number of unused bytes in the string area. | ||
POS | POS(X) routine. Return the current cursor position (CURPOS). | ||
DEF | F106 |
DEF FN routine. Define a user defined function. | |
DQFN | F133 | Call an FN function. Save any previous argument name and value on the stack, Evaluate the function an then restore the previous argument name and value. | |
TDTEST | F17B | If in direct mode then output “?ID Error” else return. | |
CHEKFN | F189 | Make sure “FN” follows and flag find FN function definition. | |
STR | STR$ routine. Convert current numeric value to ASCII and create a temporary string for it. | ||
SAVSTR | F1AA | Save current string in string area. | |
MKTMST | F1BF | Make a temporary string. | |
PRNUMS | F20F | Print number string at HL. | |
PRS | F210 | Print string at HL. | |
TESTR | F229 | Test if enough string space. If insufficient then GRBAGE collect and test again. If still insufficient space then output “?0S Error”. | |
GRBAGE | F253 |
Do a “Garbage collection” on string area. | |
CONCAT | F306 | Concatenate two strings (Eg A$+B$). | |
GETSTR | F350 | Get a string routine. | |
LEN | LEN(X$) routine. | ||
ASC | ASC(X$) routine. | ||
CHR | CHR$(X) routine. | ||
The workings of Nascom ROM BASIC Ver 4.7 | PAGE 15 | ||
|---|---|---|---|
LEFT | LEFT$(X$,X) routine. | ||
RIGHT | RIGHT$ (X$,X) routine. | ||
MID |
MID$(X$,P[,L]) routine. | ||
VAL | VAL(X$) routine. | ||
INP | INP(X) routine. Set up port number in work space and call INPSUB skeleton. Return value from port. | ||
POUT | F44D | OUT P,N routine. Set up port number in work space and call OUTSUB skeleton to output value to the port. | |
WAIT | WAIT P,A,X routine. Set up port number in work space. Call INPSUB to get byte, XOR value with X if X is supplied and then AND the value with A. If this value is zero then go back to WAITLP until value is non-zero. | ||
FNDNUM | F481 | Get next number from code string. | |
CSAVE | CSAVE routine. If CSAVE* jump to array save routine ARRSV1. Evaluate string expression for name and save program. | ||
CLOAD | CLOAD routine. If CLOAD* jump to array load routine ARRLD1. See if CLOAD? and save status. Evaluate string expression for file name (None given – any file will do) and search for that file. When found load it into memory. | ||
PEEK | PEEK(X) routine. | ||
POKE | POKE A,V routine. | ||
ROUND | F5BB | Round number up by adding 0.5 to it. | |
ADDPHL | F5BE | Add floating point number at HL to the current value in FPREG. | |
SUBPHL | F5C4 | Subtract the current value from the value at HL and leave the result in FPREG. | |
PSUB | F5C8 | Subtract FPREG from the value on the stack and leave the result in PPREG. | |
SUBCDE | F5CA | Subtract FPREG from the value in BCDE and leave the result in FPREG. | |
FPADD | F5CD | Add the value in BCDE to the value in FPREG. | |
MINCDE | F60D | Subtract value in FPREG from value in BCDE. | |
NORMAL | F638 | Normalise value in BCDE. | |
PLUCDE | F672 | Add value in FPREG to value in BCDE. | |
COMPL | F67E | Complement value in BCDE. | |
NASCOM ROM BASIC dis-assembled is available in ASM and LST file format.
| Page 34 of 59 |
|---|