ASMB
      NAM SD2D1,7 24306-60001 REV.2026 791205 
* 
* 
******************************************************************* 
* (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. 
******************************************************************* 
* 
* 
*     SOURCE:    24306-18013
*     RELOC:     24306-60001
* 
* 
* 
******************************************************************
* 
* 
* 
* 
*FUNCTION - CONVERT A CHARACTER STRING FROM D2 TO D1
*FORMAT 
* 
*CALLING SEQUENCE 
*CALL SD2D1(KSTR,K,KLAST,DIFF)
* 
      ENT SD2D1 
      EXT .ENTR,S.GET 
PARAM BSS 4 
SD2D1 NOP 
      JSB .ENTR     TRANSFER PARAMETERS 
      DEF PARAM 
      LDA PARAM+1,I KNOW=K
      STA KNOW      KNOW=CHAR POINTER FOR D2 FORMAT 
      LDB PARAM+2,I DIFF=-((KLAST+1)/2+1) 
      INB          DIFF IS THE BIAS TO BE ADDED TO
      BRS           INDICES FOR D2 FORMAT TO OBTAIN 
      INB            INDICES FOR D1 FORMAT
      CMB,INB 
      STB PARAM+3,I 
      ADA PARAM+3,I BNOW=KNOW+DIFF (WORD POINTER FOR D1 FORMAT) 
      STA BNOW       D1 FORMAT) 
GET   JSB S.GET      GET A CHARACTER FROM KSTR
      DEF *+4       KTEST=THE CHARACTER 
      DEF PARAM,I 
      DEF KNOW
      DEF KTEST 
      LDA KTEST     KSTR(KNOW)=KTEST
      LDB BNOW
      ADB PARAM 
      STA 1,I 
      LDA PARAM+2,I KNOW>=KLAST?
      CMA,INA 
      ADA KNOW
      SSA,RSS 
      JMP SD2D1,I   IF SO, RETURN 
      ISZ KNOW      ELSE KNOW=KNOW+1
      ISZ BNOW      BNOW=BNOW+1 
      JMP GET 
BNOW  BSS 1 
KNOW  BSS 1 
KTEST BSS 1 
      END 
      END$
                  