The 'nucleus' of the Xtal system is a set of subroutines in the file aa.r
which perform all of the system control functions. These functions are used
frequently in all Xtal software and a good knowledge of them is essential for a
program developer. The subroutines are named as AAnn where nn are sequence
numbers. They are grouped into the following broad classifications:
General system control and line input/output |
AA00-AA09 |
Binary file input/output |
AA10-AA19 |
Master archive file input/output |
AA20-AA29 |
General file and move facilities |
AA50-AA59 |
Machine-specific time/date/Boolean routines |
AA70-AA74 |
The nucleus routines are either called internally or by non-nucleus routines.
Reference by external software usuall involves the use of system 'convenience'
Xtal macros. Here is a list of the nucleus subroutines supplied with Xtal3.2
with their macro names.
Routine |
Function |
Macro name |
AA00 |
Calculation scheduler (Main program) |
- |
AA01 |
Read and process line data as characters |
readline: |
AA02 |
Convert char. data from AA01 to field data |
dcodefld: |
AA03 |
Convert field data to character data (format) |
ncodefld: |
AA04 |
Write and paginate line data as characters |
writeline: |
AA05 |
Process, identify and strip an atom label |
label: |
AA06 |
Error reporting and system exit |
iquit: |
AA07 |
System common initialisation |
initcom: |
AA08 |
Program initialisation and timing |
initprg: |
AA09 |
Compare char string with table of char strings |
compchar: |
AA10 |
Copy complete bdf from one name to another |
copybdf: |
AA11 |
Write specific packets of a bdf |
writepkt: |
AA12 |
Read and write specific packets of a bdf |
readwpkt: |
AA13 |
Copy specific logical records from one bdf to another |
copyfile: |
AA14 |
Sequential binary file device handler |
rewindbdf: |
AA15 |
Read and construct directory packets of bdf |
indexpkt: |
AA50 |
Open all files |
open*: |
AA51 |
Move strings of real words |
movereal: |
AA52 |
Move single packed word |
movpakwd: |
AA53 |
Compare single packed word |
compakwd: |
AA54 |
Read a single line of characters |
linein: |
AA55 |
Move char string to char string |
movechar: |
AA56 |
Move char string to real string |
movector: |
AA57 |
Move real string to char string |
movertoc: |
AA58 |
Convert case of char string |
upcase: / locase: |
AA70 |
Get compute time in real seconds |
getcpus: |
AA71 |
Get clock time as string 'hh:mm:ss' |
gettime: |
AA72 |
Get date as numerical day, month and year |
getdate: |
AA73 |
Pack integer into real word |
intpak: |
AA74 |
Unpack integer from real word |
intunpak: |
Here is a developers guide on how to use the system nucleus functions.
|