SPL,L,O,"" ! NAME PUT (7)"92425-16038 REV.1841 780927" ! !------------------------------------------------------------- ! ! ! F. WARREN 17MAY76 REV. A ! ! "C" COPYRIGHT HEWLETT-PACKARD COMPANY 1976. ! ALL RIGHTS RESERVED. NO PART OF THIS PROGRAM ! MAY BE PHOTOCOPIED, REPRODUCED OR TRANSLATED ! TO ANOTHER PROGRAM LANGUAGE WITHOUT THE PRIOR ! WRITTEN CONSENT OF THE HEWLETT-PACKARD COMPANY. ! !------------------------------------------------------------- ! ! ! PUT: PURPOSE: TO CONCATENATE A SINGLE CHARACTER TO THE END OF A ! GIVEN STRING. UPON ENTRY, THE A-REGISTER CONTAINS ! THE RIGHT-JUSTIFIED CHARACTER AND THE B-REGISTER ! CONTAINS THE ADDRESS. UPON EXIT, THE REGISTERS ! ARE RESTORED TO THEIR ORIGINAL VALUE. ! ! PUT (A=CHAR, B=STRING ADDR) ! PUT: SUBROUTINE GLOBAL,DIRECT SADDR _ .B. ! SAVE THE REGISTERS PCHR _ .A. ! RIGHT_ $SADDR AND 1 ! RIGHT OR LEFT CHR? $SADDR _ $SADDR + 1 ! INCREMENT STRING LENGTH PADDR _ SADDR + (($SADDR + 1) >- 1) ! CONPUTE PUT ADDRESS TEMPA _ 177400K ! IF RIGHT THEN GO TO PUT2 ! SHIFT CHAR & MASK IF NECESSARY TEMPA _ 377K ! PCHR _ PCHR -< 8 ! PUT2: TEMPB _ ($PADDR AND TEMPA) OR PCHR ! MERGE AND STORE CHAR $PADDR _ TEMPB ! .B. _ SADDR ! RESTORE STRING ADDRESS .A. _ PCHR ! RETURN ! END ! END END$