ASMB,R,L,C HED ".MAC." ROUTINE TO REPLACE "JSB'S" WITH MACRO INSTRUCTIONS * * NAME: .MAC. * SOURCE: 92068-18028 * RELOC: PART OF 92067-16268 AND 92067-16035 * PGMR: R.A.G. * * *************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1980. 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. * * *************************************************************** * NAM .MAC.,7 92068-1X028 REV.2013 750701 ENT .MAC. SPC 1 * * * NOTE: THIS ROUTINE CANNOT BE A TYPE 6 ROUTINE BECAUSE IT * CANNOT BE CALLED BY A TYPE 6 ROUTINE. (DLB) * CALLED AS SHOWN IN MIDDLE EXAMPLE: * BEFORE CALL CALLED SUBROUTINE AFTER CALL * * ABCDE NOP ABCDE NOP * --- .MPY NOP --- * JSB .MPY JSB .MAC. OCT 100200 * DEF XXX OCT 100200 DEF XXX * --- END --- * JMP ABCDE,I JMP ABCDE,I * * NOTE: ALL REGISTERS ARE RESTORED BY THIS ROUTINE * .MAC. NOP STA TEMP SAVE ALL REGISTERS LDA .MAC. GET P+1 OF DUMMY CMA,INA SUBTRACT TWO TO GET INA THE "NOP" OF DUMMY CMA ADDRESS LDA A,I GET IT'S P+1 ADDRESS CMA,INA SUBTRACT ONE TO GET CMA THE REAL ADDRESS OF THE 'JSB' STA ADRS LDA .MAC.,I GET THE MACRO OP STA ADRS,I AND PUT LDA TEMP RESTORE ALL REGISTERS JMP ADRS,I SPC 1 ADRS NOP TEMP NOP A EQU 0 END *