% === GPINIT === %  24.07.88 VERSION 3
LOCALS LTEST
  EQUALS CSR=&FAFE,DBR=&FAFC   %  
  REGISTERS PCONTR=%1

%%---    INTEL-8251 (58051) ---%%
%                    
  EQUALS SYNENB=&80   %  SYNC-
  EQUALS INTRST=&40   % 
  EQUALS REQTRX=&20   %    ( 105)
  EQUALS ERRRST=&10   %  
  EQUALS SNDBRK=&08   % " "
  EQUALS ENBRCX=&04   %  
  EQUALS REQRCX=&02   %    ( 108)
  EQUALS ENBTRX=&01   %  
%                   
  EQUALS STOP1=&40,STOP2=&80   %1/2  
  EQUALS EVEN=&20,ODD=&00      %   
  EQUALS YESPAR=&10            %   
  EQUALS BITS7=&08,BITS8=&0C   %7/8   
  EQUALS CLCK16=&02,CLCK64=&03 %    16/64
%                    
  EQUALS MDMRDY=&80   %  ( 107)
  EQUALS SYNDET=&40   % SYNC!
  EQUALS NOSTOP=&20   %   
  EQUALS OVFRCX=&10   %  
  EQUALS EPAR=&08     % 
  EQUALS TRBUSY=&04   % 
  EQUALS YESRCX=&02   % 
  EQUALS TRXRDY=&01   % 
%%--------------------------------------------------------%%

PROGRAM GPINIT(PCONTR,R5)
  PCONTR='CSR'
  @PCONTR=0           %    (  )
  @PCONTR=0
  @PCONTR=0
  @PCONTR='INTRST'    %.  ->   
  (DCYCLE(R5) 40      %   
  )DCYCLE

  @PCONTR='BITS8+STOP1+CLCK16'          % 9600 BAUD 8N1
  @PCONTR='REQTRX+ENBTRX+REQRCX+ENBRCX' %    
  RETURN

PROGRAM GET()
  R0=@'DBR'
  RETURN

PROGRAM PUT()
  @'DBR'=R0
  RETURN

PROGRAM GTEST()
  R0=@'CSR'.BIC.'&FFFF-YESRCX'
  RETURN

PROGRAM PTEST()
  R0=@'CSR'.BIC.'&FFFF-TRXRDY'
  RETURN
