File indexing completed on 2025-05-11 08:23:49
0001 #include "fpsp-namespace.h"
0002 //
0003 //
0004 // x_bsun.sa 3.3 7/1/91
0005 //
0006 // fpsp_bsun --- FPSP handler for branch/set on unordered exception
0007 //
0008 // Copy the PC to FPIAR to maintain 881/882 compatibility
0009 //
0010 // The real_bsun handler will need to perform further corrective
0011 // measures as outlined in the 040 User's Manual on pages
0012 // 9-41f, section 9.8.3.
0013 //
0014
0015 // Copyright (C) Motorola, Inc. 1990
0016 // All Rights Reserved
0017 //
0018 // THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF MOTOROLA
0019 // The copyright notice above does not evidence any
0020 // actual or intended publication of such source code.
0021
0022 X_BSUN: //idnt 2,1 | Motorola 040 Floating Point Software Package
0023
0024 |section 8
0025
0026 #include "fpsp.defs"
0027
0028 |xref real_bsun
0029
0030 .global fpsp_bsun
0031 fpsp_bsun:
0032 //
0033 link %a6,#-LOCAL_SIZE
0034 fsave -(%a7)
0035 moveml %d0-%d1/%a0-%a1,USER_DA(%a6)
0036 fmovemx %fp0-%fp3,USER_FP0(%a6)
0037 fmoveml %fpcr/%fpsr/%fpiar,USER_FPCR(%a6)
0038
0039 //
0040 movel EXC_PC(%a6),USER_FPIAR(%a6)
0041 //
0042 moveml USER_DA(%a6),%d0-%d1/%a0-%a1
0043 fmovemx USER_FP0(%a6),%fp0-%fp3
0044 fmoveml USER_FPCR(%a6),%fpcr/%fpsr/%fpiar
0045 frestore (%a7)+
0046 unlk %a6
0047 bral real_bsun
0048 //
0049 |end