ASMB NAM SDEA2,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-18009 * RELOC: 24306-60001 * * * ****************************************************************** * * * * * *FUNCTION - CONVERTS A FIELD FROM DECIMAL FORMAT, *RIGHT-JUSTIFIED, TWO DIGITS PER WORD, TO A2 FORMAT. * *CALLING SEQUENCE - CALL SDEA2(JSTR,JBEG,JEND,NER) *WHERE JSTR NAMES THE ONE-DIMENSIONAL STRING INTEGER ARRAY *THAT IS TO BE CONVERTED. *JBEG IS AN INTEGER CONSTANT, INTEGER VARIABLE, OR *INTEGER EXPRESSION DEFINING THE FIRST CHARACTER IN *JSTR TO BE CONVERTED. *JEND IS AN INTEGER CONSTANT, INTEGER VARIABLE, OR *INTEGER EXPRESSION DEFINING THE LAST CHARACTER IN JSTR *THAT IS TO BE CONVERTED. *NER IS AN INTEGER VARIABLE ERROR INDICATOR. *IT IS SET WHEN A DIGIT IS GREATER THAN 9 OR *NEGATIVE UNLESS THE NEGATIVE DIGIT IS AT POSITION JEND. * ENT SDEA2 EXT .ENTR,S.GET,SPUT,SZONE PARAM BSS 4 SDEA2 NOP JSB .ENTR TRANSFER PARAMETERS DEF PARAM LDA FOUR STA JSIGN JSIGN=4 JSB S.GET GET LAST CHAR DEF *+4 DEF PARAM,I JSTR DEF PARAM+2,I JLAST DEF JTEST JTEST=LAST CHAR LDA JTEST SSA,RSS JMP POS LDB TWO IF JTEST<0 JSIGN=2 STB JSIGN CMA NEGATE LAST CHAR STA JTEST JSB SPUT AND REPLACE IN JSTR DEF *+4 DEF PARAM,I JSTR DEF PARAM+2,I JLAST DEF JTEST POS LDA PARAM+1,I JNOW=J STA JNOW THREE JSB S.GET GET NEXT CHAR DEF *+4 DEF PARAM,I JSTR DEF JNOW DEF JTEST LDA JTEST SSA JMP ERR IF JTEST<0 GO ERR ADA NTEN SSA,RSS JMP ERR IF JTEST<10 THEN LDA JTEST MASK ASCII TO JTEST AND IOR SIXTY STA JTEST JSB SPUT PUT ASCII CHAR IN JSTR. DEF *+4 DEF PARAM,I JSTR DEF JNOW DEF JTEST JMP *+3 ERR LDA JNOW NER=JNOW STA PARAM+3,I LDA PARAM+2,I CMA,INA ADA JNOW SSA,RSS JMP FIN ISZ JNOW IF JNOW