User guide

2.8 Interworking between ARM and Thumb states
Select the /interwork option when compiling or assembling code if you want:
ARM routines to be able to return to a Thumb state caller
Thumb routines to be able to return to an ARM state caller
the linker to provide the code to change state when calling from ARM to Thumb or from Thumb to ARM.
Select the/nointerwork option when compiling or assembling code if either:
your system does not use Thumb
you provide the assembler code to handle all changes of state.
The default is:
/interwork if you are compiling or assembling for an ARM v5T processor
/nointerwork otherwise.
If you select the interworking option, you can call a routine in a different module without considering which instruction
set it uses. If necessary, the linker inserts an interworking call veneer, or patches the call site. This works for
compiled or assembled code.
See Chapter 3 Interworking ARM and Thumb for detailed information.
2.8.1 Register usage with interworking
The usage of registers is the same with or without interworking (see Register roles and names).
Using the Procedure Call Standard
Copyright ?1999 2001 ARM Limited 2-11