Ah. I don't think so. What you're doing is calling my_function() from within main(). What an interrupt would look like is this:
Code:
void main(void) {
/* these aren't the droids you're looking for, go about your business */
}
void interrupt1(void) {
/* do this stuff when interrupt 1 is encountered */
}
void interrupt2(void) {
/* do this stuff when interrupt 2 is encountered */
}
So, you wouldn't call interrupt1() or interrupt2() from anywhere in main() (although you could, if you wanted), but whenever the system received an interrupt signal, it would stop what it's doing in main(), and execute (or jump to, if you prefer) the predefined interrupt function, and then come back to main(). Another way of thinking of it might be to think of the system inserting a function call into the program at any point, depending on when it receives the interrupt signal. Whenever that signal is received, it automatically executes this predefined function.
Hrm. I just repeated myself a few times. I hope it makes some sense.
As for PBASIC, that language has subroutine functionality (through GOSUB and labels), which is sort of like a function, but it doesn't take any arguments and it doesn't return any value.