.TITLE ABSGRD - ROUTINE TO CONVRT ABSOLUTE INT COORD TO GRID F.P. COORD .IDENT 'ABSGRD' .PSECT ABSGRD ; KEN DEMERS ; UTRC ; NOVEMBER 1979 ; THIS ROUTINE CONVERTS AN ABSOLUTE INTEGER ; X,Y COORDINATE TO A FLOATING POINT SCALED ; COORDINATE AS DETERMINED BY THE GRID COORDINATE ; SYSTEM. ; [ (XACOR-RIDGX ) ] ; XVALUE = [ (----------- ) * XRANGE ] + XMIN ; [ ( XABMAX ) ] ; ON ENTRY: ; R1 = A(ABSOLUTE X COORDINATE) ; R2 = A(ABSOLUTE Y COORDINATE) ; ASSIGNMENTS AC0 = %0 ;FPP ACCUMULATOR 0 ; INTERNAL GLOBALS .GLOBL A$BSGRD ; EXTERNAL GLOBALS .GLOBL X$ABMAX,Y$ABMAX,X$RANGE,Y$RANGE,X$MIN,Y$MIN .GLOBL R$IDGX,R$IDGY A$BSGRD: SETF ;SET FPP INTO S.P. MODE SETI ;SET FPP INTO SHORT INTEGER MODE SUB #R$IDGX,(R1) ;SUB R$IDGX FROM ABS COORD LDCIF (R1),AC0 ;GET ABSOLUTE INT X COORD DIVF X$ABMAX,AC0 ;DIVIDE BY X$ABMAX MULF X$RANGE,AC0 ;MULT * X$RANGE ADDF X$MIN,AC0 ;ADD X$MIN STF AC0,(R1) ;STORE GRID SCALED F.P. X COORD SUB #R$IDGY,(R2) ;SUB R$IDGY FROM ABS COORD LDCIF (R2),AC0 ;GET ABSOLUTE INT Y COORD DIVF Y$ABMAX,AC0 ;DIVIDE BY Y$ABMAX MULF Y$RANGE,AC0 ;MULT * Y$RANGE ADDF Y$MIN,AC0 ;ADD Y$MIN STF AC0,(R2) ;STORE GRID SCALED F.P. Y COORD RETURN .END