.TITLE GTMNM - GET TERMINAL NUMBER IN ASCII .IDENT /01/ ; ; COPYRIGHT 1975, DIGITAL EQUIPMENT CORP., MAYNARD, MASS. ; ; THIS SOFTWARE IS FURNISHED TO PURCHASER UNDER A LICENSE FOR USE ; ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH INCLUSION ; OF DEC'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM, EXCEPT ; AS MAY OTHERWISE BE PROVIDED IN WRITING BY DEC. ; ; THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL ; EQUIPMENT CORPORATION. ; ; DEC ASUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY ; OF ITS SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC. ; ; ; VERSION: 01 ; BY: H. LEV ; DATE: 5/2/75 ; ;+ ; $GTMNM - GET TERMINAL NUMBER IN ASCII ; THIS ROUTINE GETS THE TERMINAL NUMBER IN ASCII OF THE ; TERMINAL WHICH IS CURRENTLY THE "TI" TERMINAL ; THE CALLER MUST BE ON THE SYSTEM STACK AT THE TIME OF THE ; CALL. ; ; INPUT: ; R3 - AREA TO RETURN TERMINAL NUMBER IN ASCII (4 BYTES) ; ; OUTPUT: ; TERMINAL NUMBER IS RETURNED IN THE SPECIFIED AREA ; R0, R1, R2, AND R3 ARE USED ; ;- $GTMNM:: MOV $TKTCB,R0 ; GET OUR TCB ADDRESS MOV T.UCB(R0),R0 ; GET TI UCB ADDRESS 10$: MOV U.RED(R0),R0 ; FOLLOW REDIRECT LIST CMP R0,U.RED(R0) ; END? BNE 10$ ; NO MOV U.DCB(R0),R2 ; GET DCB ADDRESS SUB D.UCB(R2),R0 ; COMPUTE RELATIVE UCB ADDRESS MOV D.UCBL(R2),R1 ; GET UCB LENGTH CALL $DIV ; COMPUTE RELATIVE UNIT NUMBER ADD D.UNIT(R2),R0 ; COMPUTE ABSOLUTE UNIT NUMBER MOV R0,R1 ; COPY IT BIC #177400,R1 ; MASK OFF HIGH BITS MOV R3,R0 ; GET AREA TO PUT TERMINAL NUMBER IN CLR R2 ; SUPPRESS LEADING ZEROES CALL $CBOMG ; CONVERT TO ASCII OCTAL RETURN ; .END