Showing changes from revision #2 to #3:
Added | Removed | Changed
Entry | |
---|---|
R0–R9 | As required for target SWI |
R12 | Target SWI number |
Exit | |
---|---|
R0–R9 | As defined for target SWI |
R12 | Preserved |
The purpose of this call, is to call a run-time determined SWI.
This call is identical to OS_CallASWI, except that it uses R12 to specify the target SWI. This may be more convenient in some environments. In particular under APCS-R, R10 is the stack limit pointer, which must be preserved at all times.
If a SWI called using OS_CallASWI were to abort or generate an error the run-time library would usually examine R10 and decide that it had no stack to handle the abort or error. Therefore APCS-R libraries must use OS_CallASWIR12 (R12 being a scratch register under APCS-R).
The CallASWI module provides this functionality for versions of RISC OS 3.70 or earlier.