.TITLE TICWIN - ROUTINE TO DISPLAY TIC MARKS .IDENT 'TICW00' .PSECT TICWIN ; KEN DEMERS ; UTRC ; NOVEMBER 1979 ; THIS ROUTINE DISPLAYS TIC MARKS ON THE GRAPH. ; THE TIC MARKS ARE ACTUALLY SMALL CROSSES. THEY ; ARE DISPLAYED IN ALL FOUR QUADRANTS OF THE GRAPH. ; CALLING FORMAT: ; CALL TICWIN(XSPACE,YSPACE) ; WHERE: ; XSPACE = F.P. VIRTUAL X COORDINATE SPACING BETWEEN TIC MARKS ; YSPACE = F.P. VIRTUAL Y COORDINATE SPACING BETWEEN TIC MARKS ; INTERNAL GLOBALS .GLOBL TICWIN ; EXTERNAL GLOBALS .GLOBL T$ICMRK,V$IRABS,X$GRDLO,Y$GRDLO .GLOBL X$RANGE,Y$RANGE,X$MXCOR,Y$MXCOR ; ASSIGNMENTS AC0 = 0 ;FPP ACCULUMULATOR 0 AC1 = 1 AC2 = 2 TICWIN: TST (R5)+ ;BUMP PTR PAST # ARGS LOC SETF ;SET FPP MODE TO S.P. SETI ;SET FPP MODE TO SHORT INTEGER MOV (R5)+,R0 ;R0= A(VIRTUAL F.P. #) LDF X$RANGE,AC1 ;AC1= (X$RANGE) LDCIF #X$MXCOR,AC0 ;AC0= F.P. OF ABS INT X MAX CALL V$IRABS ;CONVERT IT TO INTEGER ABS. X SPACING MOV R0,R2 ;SAVE X SPACING MOV (R5),R0 ;R0= A(VIRTUAL F.P. #) LDF Y$RANGE,AC1 ;AC1= (Y$RANGE) LDCIF #Y$MXCOR,AC0 ;AC0= F.P. OF ABS INT Y MAX CALL V$IRABS ;CONVERT IT TO INTEGER ABS. Y SPACING MOV R0,R3 ;SAVE Y SPACING MOV X$GRDLO,R0 ;R0= X POSITION OF Y GRID MOV Y$GRDLO,R1 ;R1= Y POSITION OF X GRID CALL T$ICMRK ;GENERATE TICS IN 1ST QUADRANT SUB R2,R0 ;2ND & 3RD QUAD STRT 1 TIC LEFT OF X ORIGIN NEG R2 ;SET UP FOR 2ND QUADRANT CALL T$ICMRK ;GENERATE TICS IN 2ND QUADRANT SUB R3,R1 ;3RD & 4TH QUAD STRT 1 TICK BELOW Y ORIGIN NEG R3 ;SET UP FOR 3RD QUADRANT CALL T$ICMRK ;GENERATE TICS IN 3RD QUADRANT NEG R2 ;SET UP FOR 4TH QUADRANT ADD R2,R0 ;4TH QUAD STARTS AT X ORIGIN CALL T$ICMRK ;GENERATE TICS IN 4TH QUADRANT RETURN .END