ASMB,R,L,C HED DMESG 91705-16112 * (C HEWLETT PACKARD CO. 1976 NAM DMESG,7 91705-16112 REV A 760319 SPC 1 ****************************************************************** * * (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 HEWLETT-PACKARD COMPANY. * ****************************************************************** SPC 2 * * DMESG * SOURCE: 91705-18112 * BINARY: 91705-16112 * JIM HARTSELL JULY 30, 1974 * * LIBRARY SUBROUTINE APPENDED TO RTE-C SATELLITE USER * PROGRAM FOR SENDING MESSAGES TO CENTRAL STATION * OPERATOR CONSOLE (LU 1). * ENT DMESG * EXT DEXEC,GETLU * A EQU 0 * * GET MESSAGE ADDRESS AND LENGTH. * DMESG NOP ISZ DMESG ISZ DMESG LDA DMESG,I JSB INDCK STA BUFAD MESSAGE ADDRESS. ISZ DMESG LDA DMESG,I JSB INDCK LDB A,I ADB MD38 TRUNCATE TO 36 WORDS. LDA A,I SSB,RSS LDA D37 STA BUFL MESSAGE LENGTH (WORDS). CMA,INA STA CNT ISZ DMESG ADJUST RETURN ADDRESS. * * MOVE MESSAGE TO INTERNAL BUFFER. * LDA DFOUT STA TEMP * LOOP LDA BUFAD,I STA TEMP,I ISZ BUFAD ISZ TEMP ISZ CNT JMP LOOP * LDA BUFL ADJUST BUFFER LENGTH. ADA B3 STA BUFL * JSB GETLU GET LU OF THIS SATELLITE. DEF *+2 DEF TEMP * LDA TEMP CONVERT TO ASCII AND LDB DFLU PUT INTO MESSAGE. JSB BTOA * SEND THE MESSAGE WITH ID PREFIX. * JSB DEXEC DEF *+6 DEF B0 DEF B2 DEF B1 DEF OUTBF DEF BUFL * JMP DMESG,I RETURN TO CALLER. * * SUBROUTINE TO CHASE INDIRECTS. * INDCK NOP RSS LDA A,I RAL,CLE,SLA,ERA JMP *-2 JMP INDCK,I * * BINARY TO ASCII CONVERSION ROUTINE. * * CALLING SQUENCE: * * (A) = BINARY NUMBER. * (B) = ASCII DESTINATION BUFFER ADDRESS. * JSB BTOA * BTOA NOP ENTRY. STA TEMP STB TEMP+1 LDA DECX INIT. DEC. INDEX. STA TEMP+2 CLB (B)=LEFT/RIGHT POINTER. STB TEMP+3 INIT. LEADING ZERO FLAG. * CONV1 CLA STA TEMP+4 INIT. CURRENT DIGIT. LDA TEMP GET VALUE. CONV2 ADA TEMP+2,I ADD TABLE ENTRY. SSA DID IT GO NEGATIVE? JMP CONV3 YES. STA TEMP NO. ISZ TEMP+4 JMP CONV2 LOOP BACK. * CONV3 LDA EMP+3 LEADING ZERO? ADA TEMP+4 SZA,RSS JMP CONV4 YES, IGNORE. LDA TEMP+4 NO. IOR B60 CONVERT TO B60. * SLB,RSS INSERT, L OR R? ALF,SLA,ALF WILL ALWAYS SKIP. IOR TEMP+1,I MERGE RIGHT CAR. STA TEMP+1,I SLB ISZ TEMP+1 MOVER POINTER. INB ISZ TEMP+3 LEADING ZERO FLAG. * CONV4 CCA CPA TEMP+2,I ARE WE DONE? JMP BTOA,I YES, RETURN. ISZ TEMP+2 NO, MOVE DECADE POINTER. CPA TEMP+2,I LAST DIGIT? ISZ TEMP+3 YES. JMP CONV1 NO. * DECX DEF .DIGT .DIGT DEC -10000,-1000,-100,-10,-1 * * * CONSTANTS AND WORKING STORAGE. * B0 OCT 0 B1 OCT 1 B2 OCT 2 B3 OCT 3 B60 OCT 60 D37 DEC 37 MD38 DEC -38 CNT NOP BUFL NOP BUFAD NOP TEMP BSS 5 DFLU DEF OUTBF+1 DFOUT DEF OUTBF+3 OUTBF ASC 3,=S : BSS 37 * SIZE EQU * * END