Question: what are the basic differences between subroutine call branch instruction and interrupt?
Answer: Subroutine can be called anytime by the user, but interrupts are system dependent. Subroutine call can be identified, as it is generally by the user, but there is no way to know when program interrupt might occur.