Files
Digital-Research-Source-Code/CPM OPERATING SYSTEMS/CPM 68K/1.2 SOURCE/7/FFPCMP.S
Sepp J Morris 31738079c4 Upload
Digital Research
2020-11-06 18:50:37 +01:00

96 lines
4.5 KiB
ArmAsm
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

ttl fast floating point cmp/tst (ffpcmp/ffptst)
***************************************
* (c) copyright 1981 by motorola inc. *
***************************************
*************************************************************
* ffpcmp *
* fast floating point compare *
* *
* input: d6 - fast floating point argument (source) *
* d7 - fast floating point argument (destination) *
* *
* output: condition code reflecting the following branches *
* for the result of comparing the destination *
* minus the source: *
* *
* gt - destination greater *
* ge - destination greater or equal to *
* eq - destination equal *
* ne - destination not equal *
* lt - destination less than *
* le - destination less than or equal to *
* *
* condition codes: *
* n - cleared *
* z - set if result is zero *
* v - cleared *
* c - undefined *
* x - undefined *
* *
* all registers transparent *
* *
*************************************************************
page
ffpcmp idnt 1,1 ffp cmp/tst
xdef ffpcmp fast floating point compare
xref ffpcpyrt copyright notice
section 9
***********************
* compare entry point *
***********************
ffpcmp cmp.b d6,d7 compare sign and exponent only first
bne.s ffpcrtn return if that is sufficient
cmp.l d6,d7 no, compare full longwords then
ffpcrtn rts and return to the caller
page
*************************************************************
* ffptst *
* fast floating point test *
* *
* input: d7 - fast floating point argument *
* *
* output: condition codes set for the following branches: *
* *
* eq - argument equals zero *
* ne - argument not equal zero *
* pl - argument is positive (includes zero)*
* mi - argument is negative *
* *
* 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 ffptst fast floating point test
********************
* test entry point *
********************
ffptst tst.b d7 return tested condition code
rts to caller
end
sted condition code
rts to caller
end
sted condition code
rts to caller
end
sted condition code
rts to caller
end