## Routines for Library usage (Obsolescent, for record only)

SIC_OPT (PROMPT,LOGFILE,MEMORY)

This routine is not compulsory. It is used to set the prompt the log file name and the stack usage. This routine only changes the prompt if called after SIC_BEGIN.

- PROMPT Character*(*).
  The prompt to be used in interactive mode, truncated to 8 characters if necessary. Default is SIC. Note that the caret > and other alterations such as : or _1> are added by SIC at run time and should not be included.
- LOGFILE Character*(*).
  The log file name. Default is LOG.
- MEMORY Logical.
  Indicates whether the Stack is used or not.

SIC_RUN (LINE,LANG,COMMAND,ERROR,ICODE,OCODE)

This subroutine is used to enter SIC, retrieve and analyse a command line for further execution. All SIC possibilities, including execution levels and error recoveries, made accessible (In particular, the LINE command line can be a call to a macro file).

- LINE Character*(*) (maximum size is 2048)
  Command line to be executed. Modified by SICṄo need to initialize it when ICODE = 0 or 1, but must be initialized is ICODE = -1 or 2
- LANG Character*12
  Name of the language returned by SIC
- COMMAND Character*12
  Name of the command returned by SIC
- ERROR Logical
  Return error code
- ICODE Operation code
  - ICODE = -1
    Analyse the command line passed as argument LINE, and return to calling program to execute it.
  - ICODE = 0
    Loop into SIC to retrieve a new command line LINE, and return to calling program to execute it.
  - ICODE = 1
    Start SIC, and retrieve a first command line.
  - ICODE = 2
    Start SIC, analyse the command line passed as argument, and return to calling program to execute it.
- OCODE Return code
  - OCODE = -1
    End of execution in sub-routine mode. Program must return immediately to its caller.
  - OCODE = 0
    Successful analysis of a command. Program must execute it, and then loop again on SIC_RUN with ICODE=0 to get further commands.
  - OCODE = 1
    End of execution caused by typing the EXIT command. Program should perform any necessary action (close files, etc...) and return to its caller.