What happens if more than one button is pressed at the same time?

Anyway, this might serve as starting point. It compiles but it is not tested.
Code:
Long_Press CON 5000
Short_Press con 100

cnt VAR WORD
b_level VAR BYTE
DataW VAR WORD

Main:
    GOSUB ReadButton
    
    IF b_level > 0 THEN
    	cnt = 0
        WHILE b_level > 0  
    	   cnt = cnt + 10  
    	   if cnt > Long_Press THEN EXIT
    	   PAUSE 10
    	   GOSUB ReadButton
    	WEND
    	
    	SEROUT GPIO.2, 2, ["You pressed button ", #b_level, " for ", #cnt, "ms", 13, 10]
    endif
Goto Main	


ReadButton:
    ADCON0.1 = 1
	While ADCON0.1 = 1 : Wend 
	
    DataW.HighByte = ADRESH 
    DataW.LowByte = ADRESL

	b_level = 0
	if DataW < 805 then
        	if DataW > 50  AND DataW < 160 THEN b_level = 1
        	if DataW > 180 AND DataW < 270 THEN b_level = 2
        	if DataW > 290 AND DataW < 380 THEN b_level = 3
        	if DataW > 400 AND DataW < 500 THEN b_level = 4
        	if DataW > 540 AND DataW < 650 THEN b_level = 5
        	if DataW > 690 AND DataW < 800 THEN b_level = 6
	ENDIF
RETURN