head     56.1;
access   ;
symbols  ;
locks    ; strict;
comment  @# @;


56.1
date     91.11.05.09.35.01;  author jwh;  state Exp;
branches ;
next     55.1;

55.1
date     91.08.25.10.13.31;  author jwh;  state Exp;
branches ;
next     54.2;

54.2
date     91.08.21.14.41.35;  author jwh;  state Exp;
branches ;
next     54.1;

54.1
date     91.03.18.15.20.43;  author jwh;  state Exp;
branches ;
next     53.1;

53.1
date     91.03.11.19.22.10;  author jwh;  state Exp;
branches ;
next     52.1;

52.1
date     91.02.19.09.05.51;  author jwh;  state Exp;
branches ;
next     51.2;

51.2
date     91.02.10.16.05.55;  author jwh;  state Exp;
branches ;
next     51.1;

51.1
date     91.01.30.16.04.58;  author jwh;  state Exp;
branches ;
next     1.1;

1.1
date     91.01.16.15.24.10;  author jwh;  state Exp;
branches ;
next     ;


desc
@first version.
@


56.1
log
@Automatic bump of revision number for PWS version 3.25
@
text
@@


55.1
log
@Automatic bump of revision number for PWS version 3.25A
@
text
@@


54.2
log
@
pws2rcs automatic delta on Wed Aug 21 13:42:03 MDT 1991
@
text
@@


54.1
log
@Automatic bump of revision number for PWS version 3.24
@
text
@a0 79
*
*       x_unsupp.sa 3.1 12/10/90
*
*       fpsp_unsupp --- FPSP handler for unsupported data type exception
*
* Trap vector #55       (See table 8-1 Mc68030 User's manual).
* Invoked when the user program encounters a data format (packed) that
* hardware does not support or a data type (denormalized numbers or un-
* normalized numbers).
* Normalizes denorms and unnorms, unpacks packed numbers then stores
* them back into the machine to let the 040 finish the operation.
*
* Unsupp calls two routines:
*       1. get_op -  gets the operand(s)
*       2. res_func - restore the function back into the 040 or
*                       if fmove.p fpm,<ea> then pack source (fpm)
*                       and store in users memory <ea>.
*
*  Input: Long fsave stack frame
*
*

*               Copyright (C) Motorola, Inc. 1990
*                       All Rights Reserved
*
*       THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF MOTOROLA
*       The copyright notice above does not evidence any
*       actual or intended publication of such source code.



	include fpsp_h

	refr    get_op
	refr    res_func
	refr    gen_except
	refr    fpsp_fmt_error

	def     fpsp_unsupp
fpsp_unsupp    equ    *
*
	link            a6,#-LOCAL_SIZE
	fsave           -(a7)
	movem.l         d0-d1/a0-a1,USER_DA(a6)
	fmovem.x        fp0-fp3,USER_FP0(a6)
	fmovem.l        FPCONTROL/FPSTATUS/FPIADDR,USER_FPCONTROL(a6)
	move.b          (a7),VER_TMP(a6) ;save version number
	move.b          (a7),d0         ;test for valid version num
	andi.b          #$f0,d0         ;test for $4x
	cmpi.b          #VER_4,d0       ;must be $4x or exit
	bne.l           fpsp_fmt_error

	fmove.l         #0,FPSTATUS             ;clear all user status bits
	fmove.l         #0,FPCONTROL            ;clear all user control bits
*
*       The following lines are used to ensure that the FPSTATUS
*       exception byte and condition codes are clear before proceeding,
*       except in the case of fmove, which leaves the cc's intact.
*
unsupp_con    equ    *
	move.l          USER_FPSTATUS(a6),d1
	btst            #5,CMDREG1B(a6) ;looking for fmove out
	bne             fmove_con
	and.l           #$FF00FF,d1     ;clear all but aexcs and qbyte
	bra.b           end_fix
fmove_con    equ    *
	and.l           #$0FFF40FF,d1   ;clear all but cc's, snan bit, aexcs, and qbyte
end_fix    equ    *
	move.l          d1,USER_FPSTATUS(a6)

	st              UFLG_TMP(a6)    ;set flag for unsupp data

	bsr.l           get_op          ;everything okay, go get operand(s)
	bsr.l           res_func        ;fix up stack frame so can restore it
	clr.l           -(a7)
	move.b          VER_TMP(a6),(a7) ;move idle fmt word to top of stack
	bra.l           gen_except
*
	end
@


53.1
log
@Automatic bump of revision number for PWS version 3.24B
@
text
@@


52.1
log
@Automatic bump of revision number for PWS version 3.24A
@
text
@@


51.2
log
@*** empty log message ***
@
text
@@


51.1
log
@Automatic bump of revision number for PWS version 3.24d
@
text
@d32 1
a32 1
	include fpsp.h
@


1.1
log
@Initial revision
@
text
@@
