ASMB
      NAM SEDIT,7 24306-60001 REV.2026 800317 
* 
* 
******************************************************************* 
* (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-18011
*     RELOC:     24306-60001
* 
* 
* 
******************************************************************
* 
* 3-17-80 UPDATE FOR KATAKANA BY CYNDI NICKEL 
* 
* 
* 
      ENT SEDIT 
      EXT .ENTR 
      EXT SPUT
      EXT SGET
      EXT SZONE 
      EXT SFILL 
JSTR  BSS 1 
J     BSS 1 
JLAST BSS 1 
KSTR  BSS 1 
K     BSS 1 
KLAST BSS 1 
SEDIT NOP 
      JSB .ENTR 
      DEF JSTR
      LDA ONE       GET NUMERIC EDIT SWITCH 
      STA TEDIT     SET NUMERIC EDIT SWITCH 
      LDA KLAST,I   GET END OF MASK COUNT 
      STA KNOW      SAVE END OF MASK COUNT
* 
* 
* 
      LDA K,I       CHECK THAT THERE IS AN EDIT MASK            3-17-80 
      CMA,INA                                                   3-17-80 
      ADA KNOW                                                  3-17-80 
      SSA                                                       3-17-80 
      JMP RET         NO MASK - JUST RETURN                     3-17-80 
* 
* 
* 
SGET0 EQU * 
      JSB SGET      CALL SGET 
      DEF RSG0
      DEF KSTR,I
      DEF KNOW
      DEF KTEST 
RSG0  EQU * 
      LDA KTEST     GET MASK CHARACTER
      CPA EX        IS IT AN 'X'
      JMP INIT1     YES 
      LDA KNOW      GET MASK CHARACTER COUNT
      ADA MONE      DECREMENT COUNT BY ONE
      STA KNOW      SAVE NEW COUNT
      LDA K,I       GET MASK BEGIN COUNT
      CMA,INA       TWO'S COMPLEMENT IT 
      ADA KNOW      CCOMPUTE MASK REMAINING 
      SSA           HAS MASK BEEN EXHAUSTED ? 
      JMP SZON1     YES 
      JMP SGET0     NO
* 
* 
* 
INIT1 EQU * 
      CLA           GET ALPHA NUMERIC EDIT SWITCH 
      STA TEDIT     SET ALPHA NUMERIC EDIT SWITCH 
      JMP INIT2     CONTINUE INITIALIZATION 
* 
* 
* 
SZON1 EQU * 
      JSB SZONE     CALL SZONE
      DEF RSZ1
      DEF JSTR,I
      DEF JLAST,I 
      DEF NOZN
      DEF NSIGN 
RSZ1  EQU * 
      LDA BLNK      GET ASCII BLANK 
      STA NDUMP     STORE AT NDUMP
      STA MONEY     STORE AT MONEY
      CLA 
      STA COMSP     NO COMMA SUPPRESSION
      STA PFLAG     CLEAR NUMERIC FLAG                         3-17-80
      STA ZERSP     NO ZERO SUPPRESSION 
* 
* 
* 
INIT2 EQU * 
      CLA           ZERO THE A REGISTER 
      STA NZRSP     STORE AT NZRSP
      LDA KLAST,I   GET END OF MASK COUNT 
      STA KNOW      SAVE END OF MASK COUNT
      LDA JLAST,I   GET END OF SOURCE COUNT 
      STA JNOW      STORE END OF SOURCE COUNT 
* 
* 
* 
SGET1 EQU * 
      JSB SGET      CALL SGET  - TOP OF LOOP
      DEF RSG1
      DEF KSTR,I
      DEF KNOW
      DEF KTEST 
RSG1  EQU * 
      LDA KTEST     GET MASK CHARACTER
      LDB TEDIT     GET EDIT SWITCH 
      SLB           NUMERIC EDITING ? 
      JMP CHKN      YES 
      CPA EX        IS MASK CHARACTER AN 'X' ?
      JMP CHKJ      YES 
      JMP DKNOW     NO
CHKN  EQU * 
      CPA NINE      NINE ?
      RSS           YES 
      JMP CKZEE     NO
      LDB COMSP     GET COMMA SUPPRESSION SWITCH
      SLB,RSS       COMMA SUPPRESSION ACTIVE ?
      JMP CHKJ     NO 
      CLB           GET THE INACTIVE SWITCH 
      STB COMSP     STORE INACTIVE SWITCH 
      JMP CHKJ
CKZEE EQU * 
      CPA ZEE       Z ? 
      JMP CKZRS     YES 
      CPA DLLR      $ ? 
      RSS           YES 
      CPA YEN       YEN MARK?                                  3-17-80
      RSS           YES                                        3-17-80
      JMP CKSTR     NO
      STA MONEY     STORE THE SUPPRESSION CHARACTER 
      JMP CKZRS 
CKSTR EQU * 
      CPA STAR      * ? 
      RSS           YES 
      JMP CKCMA     NO
      STA NDUMP     STORE THE SUPPRESSION CHARACTEER
      STA MONEY     STORE THE SUPPRESSION CHARACTER 
CKZRS EQU * 
      LDB ZERSP     GET ZERO  SUPPRESSION SWITCH
      SLB           ZERO SUPPRESSION ACTIVE ? 
      JMP CHKJ      YES 
      LDB ONE       GET ACTIVE SUPPRESSION INDICATOR
      STB ZERSP     STORE THE SWITCH
      LDA KNOW      GET THE CURRENT MASK COUNT
      STA NZRSP     SAVE THE ZERO SUPPRESSION COUNT 
      JMP CHKJ
CKCMA EQU * 
      CPA COMMA     COMMA ? 
      RSS           YES 
      JMP CKPER     NO                                6-26-79 
      LDB ZERSP     GET ZERO SUPPRESSION SWITCH 
      SLB           IS SWITCH ACTIVE ?
      JMP DKNOW     YES 
      LDB COMSP     GET COMMA SUPPRESSION SWITCH
      SLB           COMMA SUPPRESSION ACTIVE ?
      JMP DKNOW     YES 
      LDB ONE       GET ACTIVE COMMA SUPPRESSION INDICATOR
      STB COMSP     STORE THE SWITCH
      JMP DKNOW 
CKPER EQU *                                           6-26-79 
      CPA PEROD     PERIOD?                           6-26-79 
      RSS           YES                               6-26-79 
      JMP DKNOW     NO                                6-26-79 
      LDA PFLAG                                       6-26-79 
      SSA           FLAG ALREADY SET?                 6-26-79 
      JMP FILL1     YES. ERROR - FILL WITH STARS      6-26-79 
      CCA           NOT SET                           6-26-79 
      STA PFLAG     NOW SET FLAG                      6-26-79 
      JMP DKNOW                                       6-26-79 
* 
* 
* 
CHKJ  EQU *         PUT SOURCE IN PLACE OF EDIT MASK
      LDA J,I       GET SOURCE BEGIN COUNT
      CMA,INA       TWO'S COMPLEMENT IT 
      ADA JNOW      COMPUTE SOURCE REMAINING
      SSA           HAS SOURCE BEEN EXHAUSTED?        6-26-79 
      JMP CKAN      YES. GO FILL UNUSED MASK          3-17-80 
      JSB SGET      STILL MORE SOURCE, CONTINUE 
      DEF RSG2
      DEF JSTR,I
      DEF JNOW
      DEF KTEST 
RSG2  EQU * 
      JSB SPUT      CALL SPUT 
      DEF RSP1
      DEF KSTR,I
      DEF KNOW
      DEF KTEST 
RSP1  EQU * 
      LDA JNOW      GET CURRENT SOURCE COUNT
      ADA MONE      SUBTRACT ONE
      STA JNOW      STORE COUNT 
CKANR EQU *                                           3-17-80 
      LDA NZRSP     GET NZRSP VALUE 
      SZA           EQUAL ZERO
      SSA           GREATER ZERO
      JMP DKNOW     LESS ZERO 
      LDA KTEST     GET KTEST CHARACTER 
      CPA BLNK      BLANK ? 
      JMP DKNOW     YES 
      CPA ZERO      ZERO ?
      JMP DKNOW     YES 
      CPA COMMA     COMMA ? 
      JMP DKNOW     YES 
      CPA MINUS     MINUS ? 
      JMP DKNOW     YES 
      CLB           GET INACTIVE COMMA SUPPRESSION SWITCH 
      STB COMSP    STORE THE SWITCH 
      LDA KNOW      GET CURRENT MASK COUNT
      ADA MONE      SUBTRACT ONE
      STA NZRSP     STORE AT NZRSP
* 
* 
* 
DKNOW EQU *         DECREMENT MASK POINTER
      LDA KNOW      GET CURRENT MASK COUNT
      ADA MONE      SUBTRACT ONE
      STA KNOW      STORE 
      LDA K,I       GET MASK BEGIN COUNT
      CMA,INA       TWO'S COMPLEMENT
      ADA KNOW      COMPUTE MASK REMAINING
      SSA           HAS MASK BEEN EXHAUSTED ? 
      JMP CKAN1     YES 
      JMP SGET1     NO                                         3-17-80
* 
* 
* 
CKAN  EQU * 
      LDA TEDIT     GET EDIT SWITCH                   7-3-79
      SLA,RSS       NUMERIC EDITING?                  7-3-79
      JMP FILL1     NOT NUMERIC & SOURCE EXHAUSTED    7-3-79
      LDA KTEST                                       6-26-79 
      CPA NINE      IS IT A '9'?                      6-26-79 
      RSS           YES                               6-26-79 
      JMP DKNOW     NO                                3-17-80 
      LDA ZERO                                        6-26-79 
      STA KTEST     REPLACE IT WITH A ZERO            6-26-79 
*                                                     6-26-79 
* 
* 
      JSB SPUT      PUT                               6-26-79 
      DEF R2          CHARACTER                       6-26-79 
      DEF KSTR,I       INTO                           6-26-79 
      DEF KNOW           OUTPUT                       6-26-79 
      DEF KTEST            STRING                     6-26-79 
R2    EQU *                                           6-26-79 
      JMP CKANR     GO SOME MORE                      3-17-80 
FILL1 EQU *         YES, SOURCE EXHAUSTED 
      JSB SFILL     CALL SFILL
      DEF RET 
      DEF KSTR,I
      DEF K,I 
      DEF KNOW
      DEF STAR
* 
* 
* 
* 
CKAN1 EQU *         MASK IS EXHAUSTED 
      LDA TEDIT     GET EDIT SWITCH 
      SLA           NUMERIC EDITING ? 
      JMP CSZ2      YES 
      JMP RET       NO
CSZ2  EQU * 
      JSB SZONE     CALL SZONE
      DEF RSZ2
      DEF JSTR,I
      DEF JLAST,I 
      DEF NSIGN 
      DEF KTEST 
RSZ2  EQU * 
      LDA J,I       GET SOURCE BEGIN COUNT
      CMA,INA       TWO'S COMPLEMENT
      ADA JNOW      COMPUTE SOURCE REMAINING
      SSA            HAS SOURCE BEEN EXHAUSTED? 
      JMP CHKSN     YES 
      JMP FILL      NO
CHKSN EQU *         YES, SOURCE EXHAUSTED 
      LDA NSIGN     GET SIGN INDICATOR
      CPA TWO       WAS IT NEGATIVE ? 
      JMP CHKNZ     YES 
      JSB SGET      CALL SGET 
      DEF RSG3
      DEF KSTR,I
      DEF KLAST,I 
      DEF KTEST 
RSG3  EQU * 
      LDA KTEST     GET LAST MASK CHARACTER 
      CPA MINUS     MINUS ? 
      JMP BLNK2     YES 
      CPA R         R ? 
      JMP BLNK1     YES 
      JMP CHKNZ     NO
BLNK1 EQU * 
      LDA KLAST,I   GET COUNT OF LAST MASK CHARACTER
      ADA MONE      SUBTRACT ONE
      STA KLAST,I   STORE NEW COUNT 
      JSB SPUT      CALL SPUT 
      DEF RSP2
      DEF KSTR,I
      DEF KLAST,I 
      DEF BLNK
RSP2  EQU * 
      LDA KLAST,I   GET COUNT OF MASK 
      ADA ONE       ADD ONE 
      STA KLAST,I   RESTORE ORIGINAL COUNT
BLNK2 EQU * 
      JSB SPUT      CALL SPUT 
      DEF CHKNZ 
      DEF KSTR,I
      DEF KLAST,I 
      DEF BLNK
* 
* 
* 
CHKNZ EQU * 
      LDA  NZRSP    GET NZRSP VALUE 
      ADA COMSP     INCREMENT TO COMMA
      STA NZRSP     SAVE NEW SUPPRESSION COUNT
      LDA K,I       GET EDIT FIELD START
      CMA,INA 
      ADA NZRSP 
      SSA           ANY CHARACTERS TO SUPPRESS ?
      JMP RET       NO
      JSB SFILL     CALL SFILL
      DEF RSF1
      DEF KSTR,I
      DEF K,I 
      DEF NZRSP 
      DEF NDUMP 
RSF1  EQU * 
      JSB SPUT      CALL SPUT 
      DEF RET 
      DEF KSTR,I
      DEF NZRSP 
      DEF MONEY 
* 
* 
* 
FILL  EQU  *
      JSB SFILL     CALL SFILL
      DEF RET 
      DEF KSTR,I
      DEF K,I 
      DEF KLAST,I 
      DEF STAR
RET   EQU * 
      JMP SEDIT,I   RETURN TO CALLER
NZRSP BSS 1 
NSIGN BSS 1 
KNOW  BSS 1 
JNOW  BSS 1 
KTEST BSS 1 
TEDIT BSS 1 
ZERSP BSS 1 
COMSP BSS 1 
PFLAG BSS 1                                           7-3-79
MONE  DEC -1
ZERO  OCT 60
ZEE   OCT 132 
ONE   DEC 1 
TWO   DEC 2 
BLNK  OCT 40
STAR  OCT 52
DLLR  OCT 44
YEN   OCT 134                                                  3-17-80
NINE  OCT 71
EX    OCT 130 
COMMA OCT 54
PEROD OCT 56
MINUS OCT 55
R     OCT 122 
NOZN  DEC 4 
NDUMP BSS 1 
MONEY BSS 1 
      END 
                              