.TITLE LABEL - SFGL70 ROUTINE TO LABEL A TIC .IDENT 'LABEL0' .PSECT LABEL ; KEN DEMERS ; UTRC ; JANUARY 1980 ; THIS ROUTINE DISPLAYS A TIC LABEL IN G16.5 FORMAT ; IN THE WINDOW CREATED BY 'WINDOW'. ; ON ENTRY: ; R3 = FLG =0 = X TICS =1 = Y TICS ; INTERNAL GLOBALS .GLOBL L$ABEL ; EXTERNAL GLOBALS .GLOBL B$UFPTR,E$NCODE,MVCURI,H$TXT .GLOBL A$RGB1,A$RGB2,C$BUFF .GLOBL R$STARG,S$AVARG,S$TRLEN ; ASSIGNMENTS ADJUST = 8. ;CHAR PLACEMENT ADJUSTMENT CHWIDT = 14. ;CH WIDTH XMAXPO = 950. ;MAX TIC X COORD BEFORE IT INTERFERES ;WITH THE LABELS DISPLAYED BY GRID XMINPO = 130. ;MIN X POSITION YMAXPO = 740. ;Y MAX POSITION YMINPO = 50. ;Y MIN ; ;CHARS ARE 14 WIDE 22 HI L$ABEL: CALL S$AVARG ;SAVE REGS MOV #ADJUST,R2 ;R3= CHAR PLACEMENT ADJUSTMENT MOV #CHWIDT,R4 ;R4= WIDTH OF A CHAR TST R3 ;X LABELS? BNE LAB10 ;NO ASR R4 ;R4= 1/2 CH WID(X LABELS ARE CENTERED) CMP A$RG21,#XMAXPO ;WILL TIC LABEL OVERWRITE XMAX BGT LAB15 ;YES CMP A$RG21,#XMINPO ;OVERWRITE XMIN? BLT LAB15 ;YES BR LAB20 LAB10: ASL R2 ;Y GRID LABELS NEED MORE ADJUSTMENT CMP A$RG22,#YMAXPO ;OVERWRITE YMAX? BGT LAB15 ;YES CMP A$RG22,#YMINPO ;OVERWRITE YMIN? BGE LAB20 ;YES LAB15: SEC ;C=1= LABEL WAS NOT DISPLAYED BR LAB50 LAB20: TST (R5)+ ;BUMP PTR PAST #ARG LOC MOV (R5)+,B$UFPTR ;INIT ARG BLK PTR TO # MOV #A$RGB2,R5 ;R5= A(E$NCODE ARG BLK) CALL E$NCODE ;E$NCODE THE # MOV R4,R1 ;GET CHAR WIDTH MUL S$TRLEN,R1 ;GET WIDTH OF STRING ADD R2,R1 ;SPACE CHAR TO THE LEFT MORE SUB R1,A$RG21 ;BACKSPACE N CHARS MOV #A$RGB1,R5 ;R5= A(MVCURI ARGBLK) CALL MVCURI ;POSITION CURSOR ADD R1,A$RG21 ;PUT X COORD BACK AT TIC MOV #C$BUFF,B$UFPTR ;PUT E$NCODED # BUFF ADDR IN ARG BLK MOV #A$RGB2,R5 ;R5= A(H$TXT ARG BLK) CALL H$TXT ;DISPLAY THE # LAB40: CLC ;C=0= LABEL WAS DISPLAYED LAB50: CALL R$STARG ;RESTORE REGS RETURN .END