URL
https://opencores.org/ocsvn/or1k/or1k/trunk
Subversion Repositories or1k
[/] [or1k/] [trunk/] [rc203soc/] [sw/] [uClinux/] [arch/] [m68k/] [fpsp040/] [sto_res.S] - Rev 1623
Go to most recent revision | Compare with Previous | Blame | View Log
|| 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| user's destination register then fp0 is moved to 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.STO_RES: |idnt 2,1 | Motorola 040 Floating Point Software Package|section 8.include "fpsp.h".global sto_cossto_cos:bfextu CMDREG1B(%a6){#13:#3},%d0 |extract cos destinationcmpib #3,%d0 |check for fp0/fp1 casesbles c_fp0123fmovemx %fp1-%fp1,-(%a7)moveql #7,%d1subl %d0,%d1 |d1 = 7- (dest. reg. no.)clrl %d0bsetl %d1,%d0 |d0 is dynamic register maskfmovemx (%a7)+,%d0rtsc_fp0123:cmpib #0,%d0beqs c_is_fp0cmpib #1,%d0beqs c_is_fp1cmpib #2,%d0beqs c_is_fp2c_is_fp3:fmovemx %fp1-%fp1,USER_FP3(%a6)rtsc_is_fp2:fmovemx %fp1-%fp1,USER_FP2(%a6)rtsc_is_fp1:fmovemx %fp1-%fp1,USER_FP1(%a6)rtsc_is_fp0:fmovemx %fp1-%fp1,USER_FP0(%a6)rts.global sto_ressto_res:bfextu CMDREG1B(%a6){#6:#3},%d0 |extract destination registercmpib #3,%d0 |check for fp0/fp1 casesbles fp0123fmovemx %fp0-%fp0,-(%a7)moveql #7,%d1subl %d0,%d1 |d1 = 7- (dest. reg. no.)clrl %d0bsetl %d1,%d0 |d0 is dynamic register maskfmovemx (%a7)+,%d0rtsfp0123:cmpib #0,%d0beqs is_fp0cmpib #1,%d0beqs is_fp1cmpib #2,%d0beqs is_fp2is_fp3:fmovemx %fp0-%fp0,USER_FP3(%a6)rtsis_fp2:fmovemx %fp0-%fp0,USER_FP2(%a6)rtsis_fp1:fmovemx %fp0-%fp0,USER_FP1(%a6)rtsis_fp0:fmovemx %fp0-%fp0,USER_FP0(%a6)rts|end
Go to most recent revision | Compare with Previous | Blame | View Log
