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


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

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

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

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

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

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

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

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

1.1
date     91.01.16.15.48.12;  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 96
*
*       sto_res.sa 3.1 12/10/90
*
*       Takes the result and puts it in where the user expects it.
*       Library functions return result in fp0. If fp0 is not the
*       users destination register then fp0 is moved to the the
*       correct floating-point destination register.  fp0 and fp1
*       are then restored to the original contents.
*
*       Input:  result in fp0,fp1
*
*               d2 & a0 should be kept unmodified
*
*       Output: moves the result to the true destination reg or mem
*
*       Modifies: destination floating point register
*

*               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

	def     sto_cos
sto_cos    equ    *
	bfextu          CMDREG1B(a6){13:3},d0   ;extract cos destination
	cmpi.b          #3,d0           ;check for fp0/fp1 cases
	ble.b           c_fp0123
	fmovem.x        fp1,-(a7)
	moveq           #7,d1
	sub.l           d0,d1           ;d1 = 7- (dest. reg. no.)
	clr.l           d0
	bset            d1,d0           ;d0 is dynamic register mask
	fmovem.x        (a7)+,d0
	rts
c_fp0123    equ    *
	cmpi.b          #0,d0
	beq.b           c_is_fp0
	cmpi.b          #1,d0
	beq.b           c_is_fp1
	cmpi.b          #2,d0
	beq.b           c_is_fp2
c_is_fp3    equ    *
	fmovem.x        fp1,USER_FP3(a6)
	rts
c_is_fp2    equ    *
	fmovem.x        fp1,USER_FP2(a6)
	rts
c_is_fp1    equ    *
	fmovem.x        fp1,USER_FP1(a6)
	rts
c_is_fp0    equ    *
	fmovem.x        fp1,USER_FP0(a6)
	rts


	def     sto_res
sto_res    equ    *
	bfextu          CMDREG1B(a6){6:3},d0    ;extract destination register
	cmpi.b          #3,d0           ;check for fp0/fp1 cases
	ble.b           fp0123
	fmovem.x        fp0,-(a7)
	moveq           #7,d1
	sub.l           d0,d1           ;d1 = 7- (dest. reg. no.)
	clr.l           d0
	bset            d1,d0           ;d0 is dynamic register mask
	fmovem.x        (a7)+,d0
	rts
fp0123    equ    *
	cmpi.b          #0,d0
	beq.b           is_fp0
	cmpi.b          #1,d0
	beq.b           is_fp1
	cmpi.b          #2,d0
	beq.b           is_fp2
is_fp3    equ    *
	fmovem.x        fp0,USER_FP3(a6)
	rts
is_fp2    equ    *
	fmovem.x        fp0,USER_FP2(a6)
	rts
is_fp1    equ    *
	fmovem.x        fp0,USER_FP1(a6)
	rts
is_fp0    equ    *
	fmovem.x        fp0,USER_FP0(a6)
	rts

	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
@d29 1
a29 1
	include fpsp.h
@


1.1
log
@Initial revision
@
text
@@
