ASMB,R,L,C
      HED DCODE: RJE TRACE SUPPORT SUBROUTINE * (C) HEWLETT-PACKARD CO.1979 * 
      NAM DCODE,7 91780-16017 REV.1940 790528 
      ENT CMD,EBC 
      EXT .MVW,.ENTR
* 
*     DATE:         780725
*     NAME:         DCODE 
*     SOURCE:       91780-18020 
*     RELOC:        91780-16017 (PART OF) 
*     PGMR:         D. BOLIERE & B. GUDZ
*                   L. DIETZ  ( 05/28/79 )
* 
*  **************************************************************** 
*  * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979.  ALL RIGHTS      * 
*  * RESERVED.  NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED,       * 
*  * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * 
*  * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY.        * 
*  **************************************************************** 
* 
*  ADD USER SPECIFIED CHARACTER LINE TYPE CAPABILITY OF 'TCHAR'.
*  ADD TRANSLATION TABLE OF ASCII CODES.  ( 05/28/79 )
* 
*  **************************************************************** 
* 
*  THIS DCODE SUBROUTINE WAS WRITTEN FOR USE WITH THE TRACE CAPABILITY
*  OF RJE/1000.  IT CONTAINS TWO ENTRY POINTS:
* 
*  CALL CMD(ICMD,LABEL) TO INTERPRET AN OCTAL COMMAND WORD 'ICMD' 
*  FOR RJE/1000 INTO A 14 WORD ASCII DESCRIPTION WHICH IS PLACED
*  INTO THE USERS BUFFER IDENTIFIED BY 'LABEL'. 
* 
*  CALL EBC(IEBC,TCHAR,CODE) TO TRANSLATE AN OCTAL CHARACTER CODE 
*  LOCATED IN 'IEBC' INTO AN EBCDIC OR ASCII CHARACTER (AS SPECIFIED
*  BY 'TCHAR') TO BE PLACED INTO 'CODE'.
* 
ICMD  NOP 
LABEL NOP 
CMD   NOP 
      JSB .ENTR     PASS PARAMETER ADDRESSES
      DEF ICMD
* 
      LDB CWTBL     SET B-REG TO FWA OF CONTROL WORD TABLE
      LDA ICMD,I
      AND M3777     FETCH COMMAND TO DECODE 
* 
SCH   CPA 1,I       COMPARE AGAINST NEXT TABLE ENTRY
      JMP GOTIT     FOUND A MATCH!! 
      INB           BUMP TABLE POINTER
      INB 
      CPB LSTEN     END OF TABLE? 
      RSS            YES, USE ERROR MESSAGE THEN
      JMP SCH        NO, CONTINUE SEARCH
* 
GOTIT INB           MOVE 14 
      LDA 1,I        WORD ASCII 
      LDB LABEL       DESCRIPTION 
      JSB .MVW         TO THE 
      DEF D14           USERS BUFFER
      NOP 
      JMP CMD,I     RETURN TO CALLER
* 
* 
M3777 OCT 3777
D14   DEC 14
* 
CWTBL DEF *+1       TABLE OF LEGAL CONTROL WORDS MESSAGE POINTERS 
      OCT 3703
      DEF INITL 
      OCT 3603
      DEF OFF 
      OCT 3503
      DEF RC2SD 
      OCT 3403
      DEF HNDSK 
      OCT 3303
      DEF ANSWR 
      OCT 3203
      DEF SEOF
      OCT 3103
      DEF SD2RC 
      OCT 2703
      DEF LSN20 
      OCT 3702
      DEF SEND
      OCT 3701
      DEF SENDC 
      OCT 3601
      DEF READ1 
      OCT 3501
      DEF READ2 
      OCT 3401
      DEF READ3 
      OCT 3301
      DEF READ4 
LSTEN DEF * 
      DEF ENMES 
* 
      SUP 
INITL ASC 14,INITIALIZE DRIVER
OFF   ASC 14,DISCONNECT 
RC2SD ASC 14,BID FOR LINE 
HNDSK ASC 14,ESTABLISH MODEM CONNECTION 
ANSWR ASC 14,AUTO-ANSWER
SEOF  ASC 14,SEND EOT 
SD2RC ASC 14,LISTEN TO LINE FOR LONG T.O. 
LSN20 ASC 14,LISTEN TO LINE FOR 20 SECS 
SEND  ASC 14,WRITE
SENDC ASC 14,WRITE-CONVERSATIONAL 
READ1 ASC 14,READ (SEND RVI)
READ2 ASC 14,READ (CONVERSATIONAL)
READ3 ASC 14,READ(SEND NAK) 
READ4 ASC 14,READ(SEND ACK 0/1) 
ENMES ASC 14,ILLEGAL FUNCTION 
* 
* 
IEBC  NOP 
TCHAR NOP 
CODE  NOP 
EBC   NOP 
      JSB .ENTR     PASS PARAMETER ADDRESSES
      DEF IEBC
* 
      LDA IEBC,I    FETCH USER SPECIFIED CHARACTER
      ALR            AND MULTIPLY BY TWO
      LDB TCHAR,I   FETCH USER SPECIFIED CHAR LINE TYPE 
      CPB =AEB      LINECODE TYPE IS EB[CDIC]?
      JMP GETEB     TCHAR = EB[CDIC]
      AND =B177377  STRIP PARITY
      ADA ASTBL     INDEX INTO ASCII TABLE
      RSS 
GETEB ADA EBTBL     INDEX INTO EBCDIC TABLE 
      DLD 0,I        AND FETCH CHARACTER
      DST CODE,I    SAVE IN USER BUFFER 
      JMP EBC,I      AND RETURN 
* 
      SUP 
* 
EBTBL DEF *+1       TABLE OF LEGAL EBCDIC CODES 
      ASC 16,NULL SOH STX ETX  PF  HT  LC DEL -->  7
      ASC 16, XXX RLF SMM  VT  FF  CR  SO  SI --> 17
      ASC 16, DLE DC1 DC2 DC3 RES  NL  BS  IL --> 27
      ASC 16, CAN  EM  CC XXX IFS IGS IRS IUS --> 37
      ASC 16,  DS SOS  FS XXX BYP  LF ETB ESC --> 47
      ASC 16, XXX XXX  SM XXX XXX ENQ ACK BEL --> 57
      ASC 16, XXX XXX SYN XXX  PN  RS  UC EOT --> 67
      ASC 16, XXX XXX XXX XXX DC4 NAK XXX SUB --> 77
      ASC 16,     XXX XXX XXX XXX XXX XXX XXX -->107
      ASC 16, XXX XXXCENT   .   <   (   +  OR -->117
      ASC 16,   & XXX XXX XXX XXX XXX XXX XXX -->127
      ASC 16, XXX XXX   !   $   *   )   ; NOT -->137
      ASC 16,   -   / XXX XXX XXX XXX XXX XXX -->147
      ASC 16, XXX XXX BAR   ,   %   -   >   ? -->157
      ASC 16, XXX XXX XXX XXX XXX XXX XXX XXX -->167
      ASC 16, XXX   \   :   #   @   '   =   " -->177
      ASC 16, XXX  'A  'B  'C  'D  'E  'F  'G -->207
      ASC 16,  'H  'I XXX XXX XXX XXX XXX XXX -->217
      ASC 16, XXX  'J  'K  'L  'M  'N  'O  'P -->227
      ASC 16,  'Q  'R XXX XXX XXX XXX XXX XXX -->237
      ASC 16, XXXTILD  'S  'T  'U  'V  'W  'X -->247
      ASC 16,  'Y  'Z XXX XXX XXX XXX XXX XXX -->257
      ASC 16, XXX XXX XXX XXX XXX XXX XXX XXX -->267
      ASC 16, XXX XXX XXX XXX XXX XXX XXX XXX -->277
      ASC 16,LBRA   A   B   C   D   E   F   G -->307
      ASC 16,   H   I XXX XXX XXX XXX XXX XXX -->317
      ASC 16,RBRA   J   K   L   M   N   O   P -->327
      ASC 16,   Q   R XXX XXX XXX XXX XXX XXX -->337
      ASC 16,   / XXX   S   T   U   V   W   X -->347
      ASC 16,   Y   Z XXX XXX XXX XXX XXX XXX -->357
      ASC 16,   0   1   2   3   4   5   6   7 -->367
      ASC 16,   8   9 XXX XXX XXX XXX XXX XXX -->377
* 
      SUP 
* 
ASTBL DEF *+1        TABLE OF LEGAL ASCII CODES (STRIP PARITY)
      ASC 16,NULL SOH STX ETX EOT ENQ ACK BEL -->  7
      ASC 16,  BS  HT  LF  VT  FF  CR  SO  SI --> 17
      ASC 16, DLE DC1 DC2 DC3 DC4 NAK SYN ETB --> 27
      ASC 16, CAN  EM SUB ESC  FS  GS  RS  US --> 37
      ASC 16,       !   "   #   $   %   &   ' --> 47
      ASC 16,   (   )   *   +   ,   -   .   / --> 57
      ASC 16,   0   1   2   3   4   5   6   7 --> 67
      ASC 16,   8   9   :   ;   <   =   >   ? --> 77
      ASC 16,   @   A   B   C   D   E   F   G -->107
      ASC 16,   H   I   J   K   L   M   N   O -->117
      ASC 16,   P   Q   R   S   T   U   V   W -->127
      ASC 16,   X   Y   Z   [   \   ] NOT   - -->137
      ASC 16,   \  'A  'B  'C  'D  'E  'F  'G -->147
      ASC 16,  'H  'I  'J  'K  'L  'M  'N  'O -->157
      ASC 16,  'P  'Q  'R  'S  'T  'U  'V  'W -->167
      ASC 16,  'X  'Y  'ZLBRA BARRBRATILD DEL -->177
* 
      END 
                                                                                                                                                                          