mc68ec060 Freescale Semiconductor, Inc, mc68ec060 Datasheet - Page 383

no-image

mc68ec060

Manufacturer Part Number
mc68ec060
Description
Mc68060 Superscalar 68k Microprocessor Including The Lc060 And Ec060
Manufacturer
Freescale Semiconductor, Inc
Datasheet

Available stocks

Company
Part Number
Manufacturer
Quantity
Price
Part Number:
mc68ec060RC50
Manufacturer:
NXP
Quantity:
1 746
Part Number:
mc68ec060ZU50
Manufacturer:
Freescale Semiconductor
Quantity:
10 000
Part Number:
mc68ec060ZU66
Manufacturer:
MOTOROLA
Quantity:
256
Part Number:
mc68ec060ZU66
Manufacturer:
Freescale Semiconductor
Quantity:
10 000
Part Number:
mc68ec060ZU66
Manufacturer:
MOTOROLA/摩托罗拉
Quantity:
20 000
Part Number:
mc68ec060ZU75
Manufacturer:
Freescale Semiconductor
Quantity:
10 000
MC68060 Software Package
C.3.4 Module 5: Floating-Point Library (M68060FPLSP)
The M68060SP provides a library version of the unimplemented general monadic and
dyadic floating-point instructions shown in Table C-3. These routines are System V ABI
compliant as well as IEEE exception-reporting compliant. They are not, however, UNIX
exception-reporting compliant. This library implementation can be compiled with user appli-
cations desiring the functionality of these instructions without having to incur the overhead
of the floating-point unimplemented instruction” exception. The floating-point library contains
floating-point instructions that are implemented by the MC68060. The floating-point library
requires the partial floating-point kernel or full floating-point kernel to be ported to the system
for proper operation.
In addition, the FABS, FADD, FDIV, FINT, FINTRZ, FMUL, FNEG, FSQRT, and FSUB
functions are provided for the convenience of older compilers that make subroutine calls for
all floating-point instructions. The code does not emulate these instructions in integer, but
rather simply executes them.
All input variables must be pushed onto the stack prior to calling the supplied library rou-
tine. For each function, three entry points are provided, each accepting one of the three
possible input operand data types: single, double, and extended precision. For dyadic
operations both input operands are defined to have the same operand data type. For
instance, for a monadic instruction such as the FSIN instruction, the functions are:
_fsins(single-precision
_fsinx(extended-precision input operand). For dyadic operations such as the FDIV instruc-
tion, the entry points provided are: _fdivs(both single-precision input operands), _fdivd(both
double-precision input operands, _fdivx(both extended-precision input operands).
To properly call a monadic subroutine, the calling routine must push the input operand onto
the stack first. For instance:
To properly call a dyadic subroutine, the calling routine must push the second operand
onto the stack before pushing the first operand onto the stack. For instance:
All routines return the operation result in the register fp0. It is the responsibility of the calling
routine to remove the input operands from the stack after the routine has been executed.
The result’s rounding precision and mode, as well as exception reporting, is dictated by the
value of the FPCR upon subroutine entry. The floating-point status register (FPSR) is set
C-22
* This example replaces the “fsin.x fp1,fp0” instruction
* Note that _fsinx is actually implemented as an offset from the
* top of the Floating-point Library Module.
fmove.x fp1,-(sp)
bsr
add.w
* This example replaces the “fdiv.x fp1,fp0” instruction
* Note that _fdivx is actually implemented as an offset from the
* top of the Floating-point Library Module.
fmove.x fp1,-(sp)
fmove.x fp0,-(sp)
bsr
add.w
_fsinx
#12,sp
_fdivx
#24,sp
input
; push operand to stack
; result returned in fp0
; clean up stack
; push 2nd operand to stack
; push 1st operand to stack
; result returned in fp0
; clean up stack
operand),
M68060 USER’S MANUAL
_fsind(double-precision
input
MOTOROLA
operand),

Related parts for mc68ec060