DataMuseum.dk

Presents historical artifacts from the history of:

CR80 Hard and Floppy Disks

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about CR80 Hard and Floppy Disks

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦1760a9020⟧ TextFile

    Length: 2414 (0x96e)
    Types: TextFile
    Names: »IMPORT.I«

Derivation

└─⟦8c095a7f3⟧ Bits:30005798 CR80 Disc Pack ( Vol ILS systemdisk XAMOS TOS 10:01 hard boot #43c 19-7-87/JFJ )
    └─ ⟦this⟧ »PREFIXES.D!XAMOS.D!COND_HDL.D!V0201.D!PASCAL.D!IMPORT.I« 
    └─ ⟦this⟧ »PREFIXES.D!XAMOS.D!COND_HDL.D!V02CT.D!PASCAL.D!IMPORT.I« 
└─⟦c2e810e96⟧ Bits:30005799 CR80 Disc Pack ( XAMOS 841129 ILS TOS 10-01 System Disk Tilhører ILS/MSG hard boot boot entry #43c )
    └─ ⟦this⟧ »PREFIXES.D!XAMOS.D!COND_HDL.D!V0201.D!PASCAL.D!IMPORT.I« 
    └─ ⟦this⟧ »PREFIXES.D!XAMOS.D!COND_HDL.D!V02CT.D!PASCAL.D!IMPORT.I« 

TextFile

%IMPORT: EXCEPTION_TRAP

PROCEDURE EXCEPTION_TRAP (     MASK              : LOCAL_ACTION_MASK;
                           VAR EXCEPTION_OCCURED : BOOLEAN;
                           VAR OCCURED_EXCEPTION : LOCAL_ACTION );

  EXTERN;

"
      DESCRIPTION:
      ------------

     This module allows the user to have his own exception_handler,
  so that local actions will not necessarily terminate the process.
      The protection is established by calling the above procedure.
  The 'MASK' specifies which local actions the protection will apply to.
  However the mask is ANDed with a 'SYSTEM PROTECT MASK', currently
  #001E, before being used. ( This ensures that one process does not
  monopolize the CPU by protecting itself against TIMER actions. )
      When returning from the call, the parameter 'EXCEPTION_OCCURED'
  will be FALSE.
      If - after the protecting has been established - a local action
  occurs, one of the following two things happen:
      If the action is not in the protect_mask, or the routine in
  which it occurs can not be unwinded to the establishing routine
  ( either because R6 has been tampered with in a non-PASCAL routine,
  or because the offending routine is not dynamical descendant of the
  establisher ), then the action is passed to the kernel, ie. the
  process terminates ( or - for TIMER action - scheduling is invoked ).
      If the action is in the protect mask and the current routine can
  be unwinded to the establishing routine, the execution continues
  in the establishing routine as if we has just returned from the
  call to 'EXCEPTION_TRAP'. The value of the return parameters are:
       EXCEPTION_OCCURED  = TRUE
       OCCURED_EXCEPTION  = the exception that has occured

     Remarks:

         * If more than one call of 'EXCEPTION_TRAP' is made only
           the last one is valid, at any time.

         * The exception handling should not be established inside
           WITH statements, which are not active at the time the
           exception may occur.

         * The current version will never be able to unwind if the
           action is a TIMEOUT generated by the PASCAL copy routine.
           This is because R6 is not intact at the time the exception
           occurs.

         * This module can NOT be used as part of SHARED code
           ( However processes using shared code CAN include
           this link module ).
"