As you don't make a call to an ISR, how could you possibly return a value?.
As already suggested, set a value in a global variable in the ISR, and read that in the main program - it's probably a good idea to set a flag as well, so the main program can check if it's changed.
For example, a clock timer - the ISR increments a series of rolling counters, say every 10mS, so every 100 interrupts set a seconds flag, and every 6000 interrupts sets a minute flag, and so on. The main program detects the flag has changed, reads the value, displays it, and resets the flag.
Exactly the same in assembler as well.