/* Example SWI (Software Interrupt) also known as SVC (go to SuperVisor) */ .data calledme: .string "fireswi() has been called\0" doneme: .string "fireswi() has done\0" .text .global fireswi fireswi: push {lr} ldr r0, =calledme bl printkl swi #8 ldr r0, =doneme bl printkl pop {lr} mov pc, lr