GESAVE - write qstar element.

Usage:

mme     gesave
bci     1,XXXXXX
zero    BUFLOC,LENGTH
zero    ENTRY,INCR

Where:

XXXXXX
is the six character BCD name of the element being written. It should be unique within the qstar.
BUFLOC
points to the beginning of the data that should be written to the save file.
LENGTH
is the number of words of data that should be written to the save file.
ENTRY
is an address that is used if the data is read back from the save file via MME GERSTR, or MME GECALL. When the data has been successfully read back by MME GERSTR, the MME will transfer to the ENTRY address specified in the corresponding MME GESAVE. This address is only used if the MME GERSTR doesn't specify its own return address.
INCR
is a value to be subtracted from BUFLOC and ENTRY. It is used when restoring data via MME GERSTR.
Bit 15 of Program Switch Word
is used to specify whether the qstar is to be initialized or not. If bit 15 is set, the qstar will be initialized, and the element will the first member. If bit 15 is clear, the element will be appended after the existing elements.
Q register
may contain an error return address in bits 0-17. If the upper half of Q is zero, the program will be aborted in the event of failure.

Bits 24-35 of the Q register should contain the file code of the save file. This file code can be associated with a tape or with a random disk file.

Description:

MME GESAVE writes a new element into a qstar (hstar) file. The data may be retrieved with MME GERSTR or MME GECALL. MME GESAVE does not return to the calling program until the data has actually been written.

You should not copy a save file into a new file of smaller size, then try to save additional data in the new file.

A valid qstar file cannot use more than 52428 llinks due to addressing restrictions. If the qstar file being used is more than 262,143 llinks, MME GESAVE may not even handle the first 52428 llinks properly.

If an error occurs and the Q register supplied a non-zero error return address, the lower half of Q will be set to indicate the error when MME GESAVE returns. The following octal values may appear.

 52  I/O limits error on save
 53  I/O error save
 54  no PAT for CALL/SAVE
 55  bad device for CALL/SAVE
 56  non-random file
 57  save file is full
 60  checksum error
     The qstar file needs to be initialized.
 62  LENGTH is zero
115  impermissible permanent file write

Master mode programs must not use MME GESAVE, and MME GESAVE should not be used in a courtesy call.

GCOS will not detect that an element name is not unique. It will simply write out the new element with the same name, and future attempts to retrieve the element with MME GESAVE or MME GERSTR will probably read the wrong element.

See Also:

expl mme gerstr

expl mme gecall

Copyright © 2000, Thinkage Ltd.