Here is code, which captures X and Y axis acceleration data and calculate average (over 5 samples) resultant acceleration and also maximum detected acceleration (that is also averaged).
Code:
Acceleratio     var word
Acceleratio_max var word
X_Data          var Byte
Y_Data          var Byte
COUNTER         VAR BYTE
TEMP            VAR BYTE

'-------------------------------------------------------------------------------
Accelerometer_Init:
    Acceleratio = 0      
    Acceleratio_max = 0
    COUNTER = 0         
    
'Axes
I2CAddress_3D = $20     'CTRL_REG1
TEMP = %01000011        'DR=0, PD=1, FS=0, STP=00, Zen=0, Yen=1, Xen=1 (X,Y enable, Output 100Hz)
gosub I2C_Write_3D      '

'Interrupts
I2CAddress_3D = $22     'CTRL_REG3
TEMP = %00000100        'IHL = 0, PP_OD = 0, I2CFG2-0 = 000, I1CFG2-0 = 100 (DataReady = INT1)
gosub I2C_Write_3D

Return

'-------------------------------------------------------------------------------
I2C_Write_3D:
I2CWRITE SDA_3D, SCL_3D, I2CDevice_3D_write, I2CAddress_3D,[ TEMP ]
Return

I2C_Read_3D:
I2cread SDA_3D, SCL_3D, I2CDevice_3D_read, I2CAddress_3D,[ TEMP ]
Return

'-------------------------------------------------------------------------------
Acceleration_Menu:                          'Start from here
    gosub Accelerometer_Init       
    IF Int1_3D = 1 THEN                     'Int1_3D is IO pin for Interrup coming from 3D sensor, DataReady in device     
        COUNTER = COUNTER + 1
        '---------------------------
            I2CAddress_3D = $29             'Read OUTX value
            gosub I2C_Read_3D
            if TEMP > 127 then              'Two's complementary changed to amplitude information
                    X_Data = 255 - TEMP     'Acceleration data presented in two's complement
                else      
                    X_Data = TEMP
            ENDIF
        '---------------------------
            I2CAddress_3D = $2B             'Read OUTY value 
            gosub I2C_Read_3D
            if TEMP > 127 then              'Two's complementary changed to amplitude information
                    Y_Data = 255 - TEMP     'Acceleration data presented in two's complement
                else      
                    Y_Data = TEMP
            ENDIF
        '---------------------------
        Acceleratio = Acceleratio + (18 * SQR((X_Data * X_Data) + (Y_Data * Y_Data)))   'Average factor 5x
        '---------------------------                                                    'Calculate resultant force
            IF COUNTER = 5 then
                COUNTER = 0
                Acceleratio = Acceleratio/5    
                IF Acceleratio > Acceleratio_max then
                    Acceleratio_max = Acceleratio
                endif
                'ADD YOUR CODE HERE TO SHOW ACCELERATIO AND ACCELERATIO_MAX ON YOUR DISPLAY
                Acceleratio = 0
            endif
        '---------------------------
        Gosub Accelerometer_Clear
    endif
    goto Acceleration_Menu
'-------------------------------------------------------------------------------
Accelerometer_Clear:            'Clear interrupt
    I2CAddress_3D = $31
    gosub I2C_Read_3D
    Return
BR,
-Gusse-