I am new to ARM assembly language and have few (probably basic) questions- this one for the beginning: What is the meaning of cxsf "extension" in SPSR_cxsf, and what letters are permitted there ? I also have "c" related question. Many times I saw declaration of function prototypes like: void __swi(0xFE) disable_isr (void); What confuses me is where "__swi" part comes from ? When I cut one of two "__" compiler complains, as well as when I change some letter in name. It means "__swi" is somewhere already declared, but I can't find where. Still, disable_isr correctly leads code execution to SWI_Handler (declared in .s file of my project).