<< LINES .001/.009 ARE RESERVED FOR SYSTEMS INTEGRATION>>               00000001
  Q14=Q+14,Q15=Q+15,Q16=Q+16,QM7=Q-7,                          <<06736>>01826000
  QM17=Q-17,QM20=Q-20,QM22=Q-22,QM23=Q-23,                     <<06736>>01830000
  QM27=Q-27,                                                   <<06736>>01831000
  QM55=Q-55,QM62=Q-62,QM63=Q-63;                               <<06736>>01840000
  LQ3=Q+3,LQ15=Q+15,LQ16=Q+16,                                          01844000
  LQM23=Q-23,LQM24=Q-24,LQM56=Q-56,LQM57=Q-57;                          01846000
  DQM3=Q-3,DQM2=Q-2,DQM1=Q-0,DQ0=Q-0,QDM47=Q-47,QD7=Q+7;       <<06736>>01850000
INTEGER POINTER SYSGLOBEXT=%377;                               <<06736>>01891000
$include inclpcb5                                              <<06736>>01943000
$edit void=01982000                                            <<06736>>01944000
$edit void=02126000                                            <<06736>>01992000
$EDIT VOID=02126000                                            <<06736>>01992001
                                                               <<06736>>02127000
$INCLUDE INCLFLAB                                              <<06736>>02127010
<<* * * ADDITIONAL FLAB DEFINES * * *>>                        <<06736>>02127100
                                                               <<06736>>02127200
define                                                         <<06736>>02127300
  FlNumOpenClsRecs = FlHdRecs#;                                <<06736>>02127400
                                                               <<06736>>02127500
define                                                         <<06736>>02127600
  FLABSTRUCTURE =                                              <<06736>>02127700
              INTEGER ARRAY FLAB(0:127);                       <<06736>>02127800
              DOUBLE POINTER FLABDBL=FLAB#;                    <<06736>>02127900
                                                               <<06736>>02127910
                                                               <<06736>>02127920
$include inclpxfl                                              <<06736>>02407000
$EDIT VOID=02448000                                            <<06736>>02448000
$EDIT VOID=02456000                                            <<06736>>02452000
sizeACB         = 52,                                          <<06736>>02502000
pacbx'loc       = 74,                                          <<06736>>02508000
lacbx'size      = 10,                                          <<06736>>02518000
pacbIDloc       = 52,                                          <<m8451>>02526000
pacb'msg'size   = 51;<<Entire length of msg file ext, w/o buf>>         02530000
AbPacbDst      =Acb(-5)#,       <<DST num of physical ACB>>    <<06736>>02565100
AbPacbCbTabAddr=Acb(-4)#,       <<Pacb control blk vec tab addr<<06736>>02565200
AbLacbDst      =Acb(-3)#,       <<DST num of logigal ACB>>     <<06736>>02565300
AbFNum         =Acb(1)#,        <<File number>>                <<06736>>02568000
$edit void=02630000                                                     02630000
AbFcbDST       =Acb(26)#,       <<FCB DST number>>             <<06736>>02632000
AbFcbCBTabAddr =Acb(27)#,       <<Vector tab offset>>          <<06736>>02634000
AbFcbVector    =Acbd(13)#,      <<complete CB vector>>         <<06736>>02635000
$EDIT VOID=02640000                                            <<06736>>02638000
AbShCnt        =Acb(28)#,       <<# of LAcb(s>>                         02642000
AbDAddr        =Acb(30)#,       <<Logical device number>>      <<06736>>02666100
                                                               <<06736>>02666200
$edit void=02682000                                            <<06736>>02667000
AbShCntIn      =Acb(36)#,       << # read LACB's   >>          <<06736>>02704000
AbBlkFact      =Acb(38).(8:8)#, <<Records per block>>          <<06736>>02716000
                                                               <<06736>>02717100
AbMstW         =Acb(39)#,       <<global state flags>>         <<06736>>02717200
AbNoWaitEOF    =ACb(39).(8:1)#, <<EOF advanced?>>              <<06736>>02717300
AbNoWaitMode   =Acb(39).(9:1)#, <<last I/O:0=read,1=write>>    <<06736>>02717400
AbAbortRead    =Acb(39).(10:1)#,<<Abort broken re-read?>>      <<06736>>02717500
AbNewEOF       =Acb(39).(11:1)#,<<EOF advanced - tape file>>   <<06736>>02717600
AbSaveEOFs     =Acb(39).(12:2)#,<<For saving abeofs>>          <<06736>>02717700
AbEOFs         =Acb(39).(14:2)#,<<EOF flags - :EOD/:>>         <<06736>>02717800
AbMsgStart     =Acb(40)#,                                      <<06736>>02724000
AbZero         =acb(40).(0:1)#, <<Must be zero (spoolfile)>>   <<06736>>02730000
AbNumReadBuf   =acb(40).(1:4)#, <<Number of read buffers>>     <<06736>>02732000
AbNumWriteBuf  =acb(40).(5:4)#, <<Number of write buffers>>    <<06736>>02734000
AbExtendRead   =Lacb(40).(9:1)#,<<Read open/close records>>    <<06736>>02736000
AbWaitWriters  =Lacb(40).(10:1)#,<<Queued writer requests>>    <<06736>>02738000
AbMWaitMsg     =Lacb(40).(11:1)#,<<1 -msg in ACB message area>><<06736>>02740000
AbMComplMsg    =Lacb(40).(12:1)#,<<1 - ACB completion msg>>    <<06736>>02742000
AbDirtyBlock   =Lacb(40).(13:1)#,<<1, the current write          cb.01  02744000
AbNonZeroOrigin=Lacb(40).(14:1)#,<<0 -start file=block zero>>  <<06736>>02750000
AbBufFilled    =Lacb(40).(15:1)#,<<0 -buffers not been filled>><<06736>>02752000
AbBufNotFilled =(not Lacb(40))#,                               <<06736>>02754000
AbFreeWords    =Acb(41)#,       <<Num of available words in  >><<06736>>02760000
                                <<current record including   >><<06736>>02762000
                                <<record overhead            >><<06736>>02763000
AbFreeRecords  =Acbd(21)#,      <<Number of free records>>     <<06736>>02764000
AbFreeRecLSW   =Acb(43)#,       <<lst significant of free rec>><<06736>>02766000
AbNumOpenClsRec=Acbd(22)#,      <<# of non data records >>     <<06736>>02768000
AbFree3        =Acb(46)#,       << Not current used        >>  <<06736>>02772000
AbNumPendOpens =Acb(47).(0:8)#, <<#of open records w/o closes>><<06736>>02776000
AbNumReadsPend =Acb(47).(8:8)#, <<# of outstanding read reqs     cb.01  02780000
AbReadError    =Acb(48).(0:8)#, <<Last read access error>>     <<06736>>02790000
AbWriteError   =Acb(48).(8:8)#, <<Last write access error>>    <<06736>>02792000
AbWriteAddr    =Acb(49)#,       <<DST relative addr of next    <<06736>>02793000
                                <<write record>>               <<06736>>02793100
AbFree1        =Acb(50)#,                                      <<06736>>02793200
AbFree2        =Acb(51)#,                                      <<06736>>02793300
AbIDMap        =Acb(52)#,       <<ID map (only in PACB)>>      <<06736>>02796000
$edit void=02804000                                            <<06736>>02804000
AbPacbAddr     =Acb(52)#,       <<DST rel addr of PACB>>       <<06736>>02806000
$edit void=02808000                                            <<06736>>02808000
AbLacbAddr     =Acb(53)#,       <<DST rel addr of logical ACB>><<06736>>02810000
AbAcbAddr      =Acb(54)#,       <<DST rel addr of stack ACB>>  <<06736>>02812000
AbDbOffset     =Acb(55)#,       <<Stack DST rel addr of DB>>   <<06736>>02814000
$edit void=02820000                                            <<06736>>02816000
AbJustOpenedWaitDisabled =Lacb(66).(7:1)#,<< Wait disabled   >><<m7680>>02881000
AbWriteCBAddr  =Acb(69)#,       <<DST addr of writrer rec buf>>         02889000
AbWriteCB      =Acbd(35)#,      <<CB vect for writer rec buf>>          02890000
AbWriteCBDST   =Acb(70)#,       <<DST # for writer's rec buf>>          02892000
$EDIT                                                          <<06736>>02894000
$edit                                                                   02898000
AbCmplError    =Acb(72)#,       <<Resultant error code>>                02908000
AbCmplTlog     =Acb(73)#,       <<Resultant transmission log>>          02910000
AbPacbExtension=Acb(74)#,       <<Start of PACB extension>>             02918000
AbWriteQueue   =Acb(74)#,       <<Port # of write queue.>>              02920000
AbReadQueue    =Acb(75)#,       <<Port # of read queue.>>               02922000
AbRecLengthb   =Acb(76)#,       <<Length of record in bytes>>           02930000
AbHeader       =Acb(77)#,       <<Type of record (data, opn, cls>>      02932000
AbHeaderId     =Acb(78)#,       <<Record's writer ID>>                  02934000
AbHeaderCrash  =Lacb(79).(0:1)#,<<A one indicates that the system       02936000
AbLastClose    =Lacb(79).(1:1)#,<<Set if last close, valid only for     02944000
AbHeaderType   =Acb(79).(8:8)#, <<Type of record                        02948000
AbFullRecSizew =Acb(80)#,       <<Size of rec + count + header words>>  02962000
AbMComplID     =Acb(81).(0:8)#, <<Completor ID>>                        02972000
AbMID          =Acb(81).(8:8)#, <<Waiter ID>>                           02974000
AbMMsg1        =Acb(82)#,                                               02976000
AbMLocalFlags  =Acb(82)#,       <<Local flags - see AbLocalFlags>>      02978000
AbMExtendWait  =Lacb(82).(1:1)#,                                        02980000
AbMDST         =Acb(83)#,       <<Target DST number>>                   02982000
AbMTarget      =Acb(84)#,       <<DST relative addr of target area>>    02984000
AbMLength      =Acb(85)#,       <<Length of target area>>               02986000
AbMReplyPort   =Acb(86)#,       <<Waiter's reply port, 0 if using ACB   02988000
AbMPin         =Acb(87)#,       <<Waiting process's pin>>               02992000
AbMFNum        =Acb(88)#,       <<Waiter's file number>>                02994000
AbMSoftIntPlabel=Acb(89)#,      <<Waiter's soft interrupt plabel>>      02996000
AbMError       =Acb(90)#,       <<Resultant error code>>                03002000
AbMTlog        =Acb(91)#,       <<Resultant transmission log>>          03004000
AbFirstBuf     =Acb(92)#,       <<Buffer DST rel addr of first buffer>> 03012000
AbSecondBuf    =Acb(93)#;       <<Buffer DST rel addr of 2nd buffer>>   03014000
AaFNum         =qm62#,        <<File number>>                  <<06736>>03030000
$EDIT                                                          <<06736>>03052000
AaShCnt        =qm35#,        <<# of Opens>>                   <<06736>>03054000
$EDIT VOID=03058000                                            <<06736>>03056000
AaShCntIn      =qm27#,        <<# of Read Opens>>              <<06736>>03063000
AaExtendRead   =lqm23.(9:1)#, <<Read open/close records>>      <<06736>>03064000
AaWaitWriters  =lqm23.(10:1)#,<<Queued writer requests>>       <<06736>>03066000
AaBufNotFilled =(not lqm23)#,                                  <<06736>>03068000
AaFreeRecLSW   =qm20#,        <<Lst sig word of free records>> <<06736>>03072000
                                                               <<06736>>03073000
AaNumReaders   =AaShCntIn#,   <<Number of open readers>>       <<06736>>03073200
AaNumWriters   =(AaShCnt-AaShCntIn)#,                          <<06736>>03073300
AaNumReadsPend =qm16.(8:8)#,  <<# of outstanding read reqs       cb.01  03076000
AaReadError    =qm15.(0:8)#,  <<Last read access error>>       <<06736>>03086000
AaWriteError   =qm15.(8:8)#,  <<Last write access error>>      <<06736>>03088000
$edit void=03092000                                            <<06736>>03092000
AaWriteCBAddr  =q6#,          <<DST addr of writers rec buf>>  <<06736>>03127000
AaWriteCb      =qd7#,         <<CB vector for writers rec buf>><<06736>>03128000
AaWriteCBDST   =q7#,          <<DST # for writer's rec buf>>            03130000
$EDIT                                                          <<06736>>03132000
AaWriteQueue   =q11#,         <<Port # of write queue.>>                03136000
AaReadQueue    =q12#,         <<Port # of read queue.>>                 03138000
AaRecLengthb   =q13#,         <<Length of record in bytes>>             03146000
AaHeader       =q14#,         <<Type of record (data, opn, cls>>        03148000
AaHeaderId     =q15#,         <<Record's writer ID>>                    03150000
AaHeaderCrash  =lq16.(0:1)#;  <<A one indicates that the system         03152000
AcLacbDST      =Aq0(AcbLoc-3)#,                                <<06736>>03163000
AcFcbDST       =aq0(AcbLoc+26)#,                               <<06736>>03174000
AcFcbCBTabAddr =(aq0(AcbLoc+27))#,                             <<06736>>03176000
AcExtendRead   =(Aq0(AcbLoc+40).(9:1)=1)#,                     <<06736>>03178000
$EDIT                                                          <<06736>>03184000
AcLacbAddr     =Aq0(AcbLoc+53)#;                               <<06736>>03186000
LxWriteCBAddr  =Lacbx(5)#,       <<DST rel address of writer's rec buf>>03234000
LxWriteCBDST   =Lacbx(6)#,       << Writer's rec buf DST number.    >>  03236000
LxWriteCBEntry =Lacbx(7)#,       << Other half of WriteCB vector.   >>  03238000
LxComplError   =Lacbx(8)#,       <<Nowait IO completion error code>>    03240000
LxComplTlog    =Lacbx(9)#;       <<Nowait IO completion trans log>>     03242000
$include inclfcb                                               <<06736>>03345000
$edit void=03374000                                            <<06736>>03360000
FCBNUMOPENCLSRECS = FCBHDRECS#;   <<Num of non data records>>  <<06736>>03394000
$edit void=03488000                                            <<06736>>03395000
integer cb,strategy,size,type;                                 <<06736>>03710000
double vector;                                                 <<06736>>03711000
double vector;                                                 <<06736>>03720000
$EDIT VOID=03760000                                            <<06736>>03752000
procedure LOCK'CB(flags,stackdst,stk'target,cbvector);         <<06736>>03824000
value flags,stackdst,stk'target,cbvector;                      <<06736>>03826000
integer flags,stackdst,stk'target;                             <<06736>>03828000
double  cbvector;                                              <<06736>>03829000
procedure MMSTAT'(entrie,p0,p1,p2,p3,p4,p5);                   <<07359>>03834000
value entrie,p0,p1,p2,p3,p4,p5;                                <<07359>>03836000
integer entrie,p0,p1,p2,p3,p4,p5;                              <<07359>>03838000
procedure UNLOCK'CB(flags,cbvector);                           <<06736>>03892000
value flags,cbvector;                                          <<06736>>03894000
integer flags;                                                 <<06736>>03896000
double  cbvector;                                              <<06736>>03897000
                                                               <<T9344>>03978010
double procedure FCHECKMSGBLOCK(Target,Length);                <<T9344>>03978020
value Target,Length;                                           <<T9344>>03978030
integer pointer Target;                                        <<T9344>>03978040
integer Length;                                                <<T9344>>03978050
option forward;                                                <<T9344>>03978060
                                                               <<T9344>>03978070
  MMSTAT'(Event,Flags,Word1,Word2,0,0,0);                      <<07359>>04156000
  Acb,Pcb=SysPcbIndex;                                         <<06736>>04284000
integer                                                        <<06736>>04285100
  PcbPt;                                                       <<06736>>04285200
  PcbPt:=CurPrc; <<Set pointer for PCB incluge file>>          <<06736>>04309100
  AbTargetDST:=SpcbStkDst; <<DST from the PCB>>                <<06736>>04310000
integer pointer                                                <<06736>>04379100
  pcb=SysPcbIndex;                                             <<06736>>04379200
integer                                                        <<06736>>04379300
  Pcbpt;                                                       <<06736>>04379400
PcbPt:=CurPrc;                                                 <<06736>>04417000
if AbTargetDST <> SpcbStkDst then                              <<06736>>04418000
procedure FCPREPAFT(FileNum,AftContents);                      <<06736>>04428000
value FileNum,AftContents;                                     <<06736>>04430000
  Changes the contents of the fle's AFT entry, ord three                04436000
    AftContents;       <<Desired value.>>                               04448000
integer pointer                                                <<06736>>04463000
   Aft;                                                        <<06736>>04463100
                                                               <<06736>>04463200
if Global'FileNum then                                         <<06736>>04463300
   begin                    << Global AFT, go to xtra DST.  >> <<06736>>04463400
   EXCHANGEDB(Global'Aft'DSTN);                                <<06736>>04463500
   @Aft := \Filenum\*AftEntry;                                 <<06736>>04463600
   end                                                         <<06736>>04463700
else                                                           <<06736>>04463800
   begin                                                       <<06736>>04463900
   SetAft;                  <<Init the AFT pointer>>           <<06736>>04464000
   end;                                                        <<06736>>04465000
AftIoqx:=AftContents;                                          <<06736>>04466000
if Global'Filenum                                              <<06736>>04467000
   then EXCHANGEDB(0);  << Set DB back from Global AFT DST. >> <<06736>>04468000
  if AbWriteCB <> 0d then FDELETECB(AbWriteCB);                <<06736>>04658000
    AbMPin:=CurPrc/PcbSize;                                    <<06736>>04828000
integer mode'subtype;                                          <<06736>>04968100
  mode'subtype := file'soft'int;                               <<06736>>04986100
  mode'subtype.(0:1) := 1; << non-priv mode >>                 <<06736>>04986200
  CAUSESOFTINT(0,user'int,mode'subtype,AbSoftIntPlabel,2,0);   <<06736>>04988000
integer mode'subtype;                                          <<06736>>05058500
  mode'subtype := file'soft'int;                               <<06736>>05090300
  mode'subtype.(0:1) := 1; << non-priv mode >>                 <<06736>>05090600
  CAUSESOFTINT(AbMPin,user'int,mode'subtype,AbMSoftIntPlabel,  <<06736>>05092000
      AWAKE(AbMPin*pcbSize,port'wake,remain'active);           <<06736>>05152000
double                                                         <<06736>>05337000
  CbVector;                                                    <<06736>>05337100
logical                                                        <<06736>>05337200
  Cbvector1 = CbVector,                                        <<06736>>05337300
  CbVevtor2 = CbVector + 1;                                    <<06736>>05337400
  CbVector1 := AbPacbDST;      <<build CB vector for the>>     <<06736>>05411000
  CbVevtor2 := AbPacbCbTabAddr;<<call to UNLOCKCB       >>     <<06736>>05411100
  UNLOCK'CB(0,CbVector);                                       <<06736>>05412000
  LOCK'CB(0,0,QRelativeAcb+no'write'size,CbVector);            <<06736>>05428000
  I,J,BlkLength;                                               <<T9344>>06458000
  Di,WriteBlock,NumWriteBuf,BlkInfo;                           <<T9344>>06462000
  BlkLength:=AbBSize;                                          <<T9344>>06607000
    BlkInfo:=FCHECKMSGBLOCK(Rec,BlkLength);                    <<T9344>>06612001
    if < then                                                  <<T9344>>06612010
      begin                                                    <<T9344>>06612020
      FILLEXIT(badvarblk);                                     <<T9344>>06612040
      end                                                      <<T9344>>06612050
    else if BlkInfo = 0d then                                  <<T9344>>06612060
      begin                                                    <<T9344>>06612070
      FILLEXIT(badvarblk);                                     <<T9344>>06612090
      end;                                                     <<T9344>>06612100
  LOCK'CB(0,0,QRelativeFcb,AbFcbVector);                       <<06736>>06752000
  UNLOCK'CB(0,AbFcbVector);                                    <<06736>>06778000
if emptyfile and AbNumRecords <> 0d then                       <<09464>>06796020
  SUDDENDEATH(6601);                                           <<09464>>06796030
  if AbNumRecords <= 0d then SUDDENDEATH(6602);                <<09464>>06819000
  IF AbWriteBlock < 0d then SUDDENDEATH(6603);                 <<09464>>06821000
      if  abwriteblock < 0d then                               <<09464>>07663410
        begin                                                  <<09464>>07663420
        suddendeath(6604);                                     <<09464>>07663520
        end;                                                   <<09464>>07663530
double                                                         <<06736>>08011000
   CbVector;                                                   <<06736>>08012000
logical                                                        <<06736>>08013000
   CbVector1 = CbVector,                                       <<06736>>08014000
   CbVector2 = CbVector + 1;                                   <<06736>>08014100
AcbLoc:=AcbLoc-DeltaQ;                                         <<m8220>>08014200
CbVector1 := AcFcbDST;       <<build CbVector for the call>>   <<06736>>08015000
CbVector2 := AcFcbCbTabAddr; <<to LOCK'CB                 >>   <<06736>>08015100
                                                               <<06736>>08015200
LOCK'CB(0,0,1,CbVector);                                       <<06736>>08016000
UNLOCK'CB(0,CbVector);                                         <<06736>>08024000
PCBPtr:=Pin*pcbSize;                                           <<06736>>08322000
    UNLOCK'CB(0,AbFcbVector);                                  <<06736>>08730000
    Alloc'D'Fcb;                                               <<06736>>08816000
    LOCK'CB(0,0,QRelativeFcb,AbFcbVector);                     <<06736>>08826000
    tos:=1;         << Get the size of the FCB entry >>        <<T9503>>08830000
    asmb(mds 1);    << go get it, then get rid of trans cnt >> <<T9503>>08832000
    tos:=FcbSize-1; << Trans cnt = size - wrd already transf >><<T9503>>08832100
    asmb(mds 6);    << get the rest of the entry >>            <<T9503>>08832200
    LOCK'CB(0,0,QRelativeFcb+ext'map'loc,AbFcbVector);         <<06736>>08850000
    UNLOCK'CB(0,AbFcbVector);                                  <<06736>>08864000
  AcbLoc        = @AcbArray-@q0#;                              <<06736>>09158000
$EDIT VOID=09162000                                            <<06736>>09160000
  Timeout,CloseType,ULabelExtents;                             <<T9344>>09174000
  Aft(0:AftEntry-1)=q,                                         <<06736>>09186000
  AcbArray(0:Acb'buf'size)=q;  <<Must be last Q rel dec>>      <<06736>>09187000
    if FCBLBL > 0 then                                         <<T9344>>09304100
      begin                                                    <<T9344>>09304200
<<    Calc the number of extents required to hold the user >>  <<T9344>>09304300
<<    labels and the file label. DON'T remove these extents >> <<T9344>>09304400
<<    when pitching the extents at close time                >><<T9344>>09304500
                                                               <<T9344>>09304600
      ULabelExtents:=(FcbSectOff+FcbExtSize-1)/                <<T9344>>09305000
                      FcbExtSize; << Whole extents >>          <<T9344>>09305010
      ULabelExtents:=(if ULabelExtents > 0 then                <<T9344>>09305210
        (ULabelExtents - 1) else 0); << conv to 0 rel >>       <<T9344>>09305220
       end                                                     <<T9344>>09305300
     else                                                      <<T9344>>09305400
       ULabelExtents:=0;  << NO USER LABELS >>                 <<T9344>>09305500
    if (WriteExtent <> ReadExtent) or (AbWriteblock = dbl(0))  <<m7678>>09314000
      then                                                     <<m7678>>09315000
        if I > ULabelExtents and ExtentMap(I) <> 0d then       <<T9344>>09320000
if not AbCopy then                                             <<07358>>09367000
  LOCEXTENDACB(AcbLoc,AbTargetDST,0);                          <<07358>>09368000
if not AbCopy then                                             <<07358>>09475000
  UNLOCEXTENDACB(Acb);                                         <<07358>>09476000
  WriteCb;                                                     <<06736>>09546000
  WriteCBAddr;                                                 <<06736>>09552000
integer                                                        <<06736>>09553100
  FileNum;                                                     <<06736>>09553200
integer pointer                                                <<06736>>09553300
  Aft;                                                         <<06736>>09553400
                                                               <<06736>>09553500
integer Mode;                                                  <<06736>>09554000
  Mode:=CHECKTRAPLABEL(Parameter,DeltaQ);                      <<06736>>09570000
      ParmArray(2):=AaFNum;                                    <<06736>>09582000
      ParmArray(3):=Parameter; ParmArray(1).(0:1):=mode;       <<06736>>09583000
    AaSoftIntPlabel:=Parameter;                                <<06736>>09586000
  if not AaRead and AaWriteCB = 0d then                        <<06736>>09610000
    FCREATECB(0,0d,OwnSeg,RecSize+1,LacbType);                 <<06736>>09616000
      WriteCb:=tos;       <<Save the data seg's location>>     <<06736>>09632000
      WriteCbAddr:=tos;                                        <<06736>>09633000
      UNLOCK'CB(0,WriteCb);                                    <<06736>>09634000
      AaWriteCB:=WriteCB; AaWriteCBAddr:=WriteCBAddr+1;        <<06736>>09638000
  FileNum:=AaFNum;    <<To allow use of include file>>         <<06736>>09721000
  if Global'FileNum then                                       <<06736>>09721100
     begin            << Global file number.                >> <<06736>>09721200
     EXCHANGEDB(Global'Aft'DSTN);                              <<06736>>09721300
     @Aft := \FileNum\*AftEntry;                               <<06736>>09721400
     end                                                       <<06736>>09721500
  else                                                         <<06736>>09721600
     begin                                                     <<06736>>09721700
     SetAft;          <<Init the local Aft pointer.         >> <<06736>>09722000
     end;                                                      <<06736>>09723000
  if AftIoqx <> 0 then                                         <<06736>>09724000
     begin                                                     <<06736>>09725000
     if Global'FileNum then EXCHANGEDB(0);                     <<06736>>09726000
     ErrorCode:=IOPending                                      <<06736>>09728000
     end                                                       <<06736>>09729000
    if Global'FileNum then EXCHANGEDB(0);                      <<06736>>09733000
    MMSTAT'(*,*,*,*,0,0,0);                                    <<07359>>09892000
  AbNumRecords:=AbNumRecords+NumOpenClsRecs;                   <<T9344>>09961000
$EDIT VOID=09961600                                                     09961100
  if AbNumRecords = 0d then                                    <<T9344>>09962000
  double                                                       <<06736>>10006000
$edit void=10066000                                            <<06736>>10062000
  WriteCb;                                                     <<06736>>10072000
  WriteCBAddr,RecSize,I,AcbDst;                                <<06736>>10076000
    DELETERESOURCES(Acb,(AbShCnt <= 1));                       <<06736>>10112000
  asmb(exit 3);                                                <<06736>>10116000
  LOCK'CB(0,0,lacb'q'loc,LacbV);                               <<06736>>10134000
  UNLOCK'CB(0,LacbV);                                          <<06736>>10150000
  if AbShCnt = 0 then                                          <<06736>>10166000
    AbShCnt:=1;                                                <<06736>>10170000
      FCREATECB(0,0d,OwnSeg,RecSize+1,LacbType);               <<06736>>10206000
      WriteCb:=tos;       <<Save the data seg's location>>     <<06736>>10218000
      WriteCbAddr:=tos;                                        <<06736>>10219000
      UNLOCK'CB(1,WriteCb);                                    <<06736>>10220000
      LxWriteCBAddr:=WriteCBAddr+1;                            <<06736>>10224000
      tos := WriteCB;         << Build CB vector in LACB.   >> <<06736>>10224100
      LxWriteCBEntry := tos;  << Get 2nd. word, entry offset>> <<06736>>10224200
      LxWriteCBDST := tos;    << Get 1st word, the DST #.   >> <<06736>>10224300
  AaJustOpenedWaitDisabled:=0;                                 <<m8452>>10487000
    tos:=AbPacbDST; <<move data from buffer to the user area>> <<06736>>10680000
  AaJustOpenedWaitDisabled:=0;                                 <<m8452>>11205000
    AaVirgin:=0;  << Not a virgin after nowait write >>        <<09466>>11245000
$EDIT VOID=11325000                                                     11325000
  if AaControl and DataLengthb > (AaRsize - 1)  or             <<T9344>>11376000
     DataLengthb > AaRsize then WRITEXIT(badtcount);           <<T9344>>11377000
