when i use match register along with the software interrupt, SWI interrupt happens only once and then the program control gets stuck in the startup code. I tried to manipulate the input/output port inside the ISR... Is this error caused because i tried to manipulate the port inside the ISR?
No, you can manipulate ports inside an ISR. Is your SWI code correct, and do you have enough stack space?