Fix around 30 tests by using a volatile register for restoring the stack pointer

m68k/cgcpu.pas, tcg68k.g_proc_exit:
  * use A0 (which is a volatile register) instead of A3 (which is not) to restore the stack pointer


git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@25663 3ad0048d-3df7-0310-abae-a5850022a9f2
Implement support for saving and restoring address registers.

cgobj.pas, tcg:
  * g_save_registers: add the amount of used address registers to size as well
  * g_save_registers: save all used address registers
  * g_restore_registers: restore all stored address registers
m68k/cpubase.pas:
  * rename saved_standard_address_registers to saved_address_registers
all other platform's cpubase.{inc,pas} (except alpha, ia64 and vis which are not up to date):
  * add a saved_address_registers variable with one entry of RS_INVALID

At least a "make fullcycle" did complete.



git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@25664 3ad0048d-3df7-0310-abae-a5850022a9f2