The most common type of task that runs under the Wimp is one that registers itself with the Wimp and places an icon on the icon bar. However, another type called ‘Relocatable Modules’ also exists.
Instead of loading itself into the application workspace memory beginning at &8000 (32,768), it loads itself as a relocatable module within the RMA. Although both types are similar in structure and behaviour, relocatable modules must also cope with service calls generated at various times by the Wimp. They must also be able to terminate themselves if required. i.e. during a *RMTidy operation.
Service handling of modules can modify registers 0 to 6 (if explicitly stated to be return parameters). These registers should not be modified, except to produce a particular effect.
Note: Modules that do not handle service calls correctly, can result in errors that cause system wide failure, and bugs that can be very difficult to track down.