• Stewart Brodie's avatar
    Merge of 32-bit capable macros to trunk. · 559a684e
    Stewart Brodie authored
    Detail:
      The 26-bit and 32-bit capable macros have been added.
      Header files choose which set of macros to use based on <Machine>.
      If you want the new macros, include "Hdr:APCS.<APCS>" in addition
        to the usual inclusions at the top of assembler files.
      Choices are based on the settings of macros No32bitCode and
        No26bitCode.  By default, all existing machines define these
        as {TRUE} and {FALSE} respectively.  This yields the same macros
        as before (tested in Customer F 5 build) and should yield code which
        functions on RISC OS 3.1.  Any other combination of settings is
        untested at this time.
      New assembler code should use the macros FunctionEntry, Return et al
        to ensure that they build correctly.
      New assembler code should be written to not require flag preservation
        across internal function calls and to not assume it on external
        function calls where it is possible to do so.  DO NOT simply replace
        "MOVS pc, lr" with "MOV pc, lr" as this doesn't work properly.
        Replace "MOVS pc, lr" with "Return ,LinkNotStacked"
      Do not write code which simply masks out &FC000003 from pc or some kind
        or pc originated value (eg. on r14 to attempt to remove the PSR flags
        from it.  Use the RemovePSRFromReg macro instead.
    Admin:
      Tested with Customer F 5 build.
      Requires FPEmulator 4.11
      Requires Portable 0.65 (or Portable75 0.04)
      Required by any new or modified assembler code in future, pretty much.
        Such components may not necessarily specify a dependency on this
        or any other later version of HdrSrc.
    
    Version 0.63. Tagged as 'HdrSrc-0_63'
    559a684e
APCS-32 727 Bytes