*DECK DBCTADD 
USETEXT DBTEXT
PROC CT$ADD;
*CALL DEBUGVARS 
*CALL DBCORTAB
XREF PROC IERR$;
  
START("CT$ADD") 
#THIS PROCEDURE ADDS A NEW ENTRY TO THE CORRESPONDANCE TABLE. 
THE VALUES PLACED INTO THE CORRESPONDANCE TABLE ARE:- 
  A. WORD ADDRESS CORRESPONDING TO CURRENT DNAT ITEM (IWA)
  B. CURRENT DNAT$PTR VALUE 
  C. AREA ORDINAL (AORDINAL)
  D. RECORD ORDINAL (RORDINAL)
  E. ITEM ORDINAL (IORDINAL)
# 
IF CT$LEN LS CT$SIZE
  THENB ("SPACE AVAILABLE IN TABLE")
  SETI("CT$PTR",CT$PTR,CT$LEN+1) #SETUP ACCESS PTR# 
  SETO("CT$WA[CT$PTR]",CT$WA[CT$PTR],IWA) #WORD ADDRESS#
  SETI("CT$DNAT[CT$PTR]",CT$DNAT[CT$PTR],DNAT$PTR) #CURRENT DNAT PTR# 
  SETI("CT$AORDINAL[CT$PTR]",CT$AORDINAL[CT$PTR],AORDINAL)
  SETI("CT$RORD[CT$PTR]",CT$RORD[CT$PTR],RORDINAL)
  SETI("CT$IORD[CT$PTR]",CT$IORD[CT$PTR],IORDINAL)
  SETI("CT$LEN",CT$LEN,CT$LEN+1)  #BUMP COUNTER#
  ELSEB ("NO SPACE LEFT") 
  IERR$(L17,ABORT); 
ENDIF 
FINIS("CT$ADD") 
TERM
