fpceil  ident   2,0
;
; MOTOROLA DSP56000/1 FPLIB - VERSION 2
;
; This program, originally available on the Motorola DSP bulletin board,
; is provided under a DISCLAIMER OF WARRANTY available from Motorola DSP
; Operation, 6501 William Cannon Drive, West, Austin, Texas  78735-8598.
;
; FPCEIL - FLOATING POINT CEIL SUBROUTINE
;
; Entry points: fceil_a    R = ceil(A)
;               fceil_x    R = ceil(X)
;
;       m = 24 bit mantissa (two's complement, normalized fraction)
;
;       e = 14 bit exponent (unsigned integer, biased by +8191)
;
; Input variables:
;
;   X   x1 = mx  (normalized)
;       x0 = ex
;
;   A   a2 = sign extension of ma
;       a1 = ma  (normalized)
;       a0 = zero
;
;       b2 = sign extension of ea (always zero)
;       b1 = ea
;       b0 = zero
;
; Output variables:
;
;   R   a2 = sign extension of mr
;       a1 = mr  (normalized)
;       a0 = zero
;
;       b2 = sign extension of er (always zero)
;       b1 = er
;       b0 = zero
;
; Error conditions:     No error conditions are signaled.
;
; Assumes n0, m0, shift constant table and scaling modes
; initialized by previous call to the subroutine "fpinit".
;
; Alters Data ALU Registers
;       a2      a1      a0      a
;       b2      b1      b0      b
;       x1      x0
;
; Alters Address Registers
;       r0
;
; Alters Program Control Registers
;       pc      sr
;       ssh     ssl     sp
;
; Uses 1 location on System Stack
;
; Version - 2.0
; Latest Revision - February 22, 1988
;
fceil_x tfr     x0,b    x1,a            ;get mx,ex
fceil_a
        neg     a                       ;reverse number line
        jsr     floor_a                 ;do floor operation
        neg     a                       ;reverse number line
        rts
 
 
 
 
 
