ASMB,R,L,C * * **************************************************************** * * (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. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * NAM .SWCH,7 24998-1X067 REV.2001 750701 ENT .SWCH * ************************************* * * .SWCH - EXECUTE A SWITCH TEST AND * * * JUMP AS INDICATED. * * * * * * A = VALUE OF SWITCH (1 TO NO. * * * OF LABELS IN DECLARATION). * * * * * * IF A = 0 OR GRTR THAN NO. OF * * * LABELS IN SWITCH CONTROL RE-* * * TURNS TO NEXT STATEMENT IN * * * THE OBJECT PROGRAM * * ************************************* .SWCH NOP =1ST LOC IN LINKAGE(LABEL COUNT) SSA,RSS SKIP IF COUNT IS NEGATIVE SZA,RSS A = 0? JMP SWCHX YES - BAD COUNT - RETURN LDB .SWCH,I GET LABEL COUNT CMB MAKE LABELCOUNT+1 NEGATIVE ADB 0 B _ A+B ADA .SWCH POINT A REG. AT DESIRED LABEL SSB IS 'A' GREATER THAN LABEL COUNT? JMP *+3 NO - JUMP TO DESIGNATED ADDRESS SWCHX LDA .SWCH COMPUTE ADDRESS FOR ABNORMAL EXIT ADA MIN2 FROM SWITCH ROUTINE LDA 0,I JMP 0,I RETURN TO THAT ADDRESS MIN2 DEC -2 END * *