• Ben Avison's avatar
    First of a two-part update of Hdr:CPU.Generic* · 154397df
    Ben Avison authored
      Changes split into two parts to make the diffs readable. In this part:
      * Simplified the inclusion of Hdr:Machine.<Machine> - all current builds
        require a new enough version of objasm that the bug with GET directives
        inside conditionals appears to no longer apply.
      * A number of macros used to have large switches of almost-identical code
        depending upon whether an optional register was defined or not - these
        are now simplified by using a local variable to hold the register.
      * RETURNS is no longer wrapped in :LNOT: No26bitCode, since it could still
        be useful for exception return, non-transient callback handlers etc.
        However, its presence is still a warning sign for non-32-bit-compatible
        code, so it emits a warning unless you add an extra argument to indicate
        that you've vetted that the code is 32-bit safe.
      * Operator precedence bug fixed in SCPSR from Generic32 copied across to
        Generic26 (applies if bits to set/clear were given as expressions).
      * Conflicting set and clear bits in SCPSR now produce an error in both
        Generic26 and Generic32 (previously was only a warning in Generic26).
      * Added the same flag bit check in WritePSRc in Generic26 as already
        existed in Generic32.
      * Some comments reformatted for consistency.
      * Uses of mymrs replaced with MRS, and unconditional or flag-only uses of
        mymsr macro replaced with MSR (other ones remain to deal with the
        StrongARM bug).
      * RETURNVC and RETURNVS no longer accept NV condition code.
      * Removed BKPT macro (now implemented natively in objasm).
      Update originally from Rob Sprowson, bugfixed and split into two parts by me.
    Version 2.25. Tagged as 'HdrSrc-2_25'
VersionNum 810 Bytes