mirror of
https://github.com/SEPPDROID/Digital-Research-Source-Code.git
synced 2025-10-23 00:14:25 +00:00
78 lines
3.6 KiB
ArmAsm
78 lines
3.6 KiB
ArmAsm
ttl fast floating point abs/neg (ffpabs/ffpneg)
|
||
***************************************
|
||
* (c) copyright 1981 by motorola inc. *
|
||
***************************************
|
||
|
||
*************************************************************
|
||
* ffpabs *
|
||
* fast floating point absolute value *
|
||
* *
|
||
* input: d7 - fast floating point argument *
|
||
* *
|
||
* output: d7 - fast floating point absolute value result *
|
||
* *
|
||
* condition codes: *
|
||
* n - cleared *
|
||
* z - set if result is zero *
|
||
* v - cleared *
|
||
* c - undefined *
|
||
* x - undefined *
|
||
* *
|
||
* all registers transparent *
|
||
* *
|
||
*************************************************************
|
||
page
|
||
ffpabs idnt 1,1 ffp abs/neg
|
||
|
||
xdef ffpabs fast floating point absolute value
|
||
|
||
xref ffpcpyrt copyright notice
|
||
|
||
section 9
|
||
|
||
******************************
|
||
* absolute value entry point *
|
||
******************************
|
||
ffpabs and.b #$7f,d7 clear the sign bit
|
||
rts and return to the caller
|
||
page
|
||
*************************************************************
|
||
* ffpneg *
|
||
* fast floating point negate *
|
||
* *
|
||
* input: d7 - fast floating point argument *
|
||
* *
|
||
* output: d7 - fast floating point negated result *
|
||
* *
|
||
* condition codes: *
|
||
* n - set if result is negative *
|
||
* z - set if result is zero *
|
||
* v - cleared *
|
||
* c - undefined *
|
||
* x - undefined *
|
||
* *
|
||
* all registers transparent *
|
||
* *
|
||
*************************************************************
|
||
page
|
||
xdef ffpneg fast floating point negate
|
||
|
||
**********************
|
||
* negate entry point *
|
||
**********************
|
||
ffpneg tst.b d7 ? is argument a zero
|
||
beq.s ffprtn return if so
|
||
eor.b #$80,d7 invert the sign bit
|
||
ffprtn rts and return to caller
|
||
|
||
end
|
||
|
||
|