Compiler User GuidePreface Overview of the Compiler Getting Started with the Compiler Compiler Features Compiler Coding Practices Compiler Diagnostic Messages Using the Inline and Embedded Assemblers of the AR Compiler Command-line Options Language Extensions Compiler-specific Features C and C++ Implementation Details What is Semihosting? What is semihosting? The semihosting interface Can I change the semihosting operation numbers? Debug agent interaction SVCs angel_SWIreason_EnterSVC (0x17) angel_SWIreason_ReportException (0x18) SYS_CLOSE (0x02) SYS_CLOCK (0x10) SYS_ELAPSED (0x30) SYS_ERRNO (0x13) SYS_FLEN (0x0C) SYS_GET_CMDLINE (0x15) SYS_HEAPINFO (0x16) SYS_ISERROR (0x08) SYS_ISTTY (0x09) SYS_OPEN (0x01) SYS_READ (0x06) SYS_READC (0x07) SYS_REMOVE (0x0E) SYS_RENAME (0x0F) SYS_SEEK (0x0A) SYS_SYSTEM (0x12) SYS_TICKFREQ (0x31) SYS_TIME (0x11) SYS_TMPNAM (0x0D) SYS_WRITE (0x05) SYS_WRITEC (0x03) SYS_WRITE0 (0x04) Via File Syntax Summary Table of GNU Language Extensions Standard C Implementation Definition Standard C++ Implementation Definition C and C++ Compiler Implementation Limits
11.5 angel_SWIreason_EnterSVC (0x17)
Sets the processor to Supervisor mode and disables all interrupts by setting both interrupt mask bits in the new
With a debug hardware unit, such as ARM RVI™ debug unit or ARM DSTREAM™ debug and trace unit:
If entered in User mode, the Supervisor mode stack is lost as a result of copying the user stack pointer. The return to User routine restores
After executing the SVC, the current link register is
of your data.