|
|
1.1 ! root 1: /*- ! 2: * Copyright (c) 1985 The Regents of the University of California. ! 3: * All rights reserved. ! 4: * ! 5: * This code is derived from software contributed to Berkeley by ! 6: * Computer Consoles Inc. ! 7: * ! 8: * Redistribution and use in source and binary forms, with or without ! 9: * modification, are permitted provided that the following conditions ! 10: * are met: ! 11: * 1. Redistributions of source code must retain the above copyright ! 12: * notice, this list of conditions and the following disclaimer. ! 13: * 2. Redistributions in binary form must reproduce the above copyright ! 14: * notice, this list of conditions and the following disclaimer in the ! 15: * documentation and/or other materials provided with the distribution. ! 16: * 3. All advertising materials mentioning features or use of this software ! 17: * must display the following acknowledgement: ! 18: * This product includes software developed by the University of ! 19: * California, Berkeley and its contributors. ! 20: * 4. Neither the name of the University nor the names of its contributors ! 21: * may be used to endorse or promote products derived from this software ! 22: * without specific prior written permission. ! 23: * ! 24: * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ! 25: * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE ! 26: * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ! 27: * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE ! 28: * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL ! 29: * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS ! 30: * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ! 31: * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT ! 32: * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY ! 33: * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF ! 34: * SUCH DAMAGE. ! 35: * ! 36: * @(#)Kcmpd.s 7.1 (Berkeley) 12/6/90 ! 37: */ ! 38: ! 39: #include "../tahoe/SYS.h" ! 40: ! 41: /* ! 42: * cmpd(hi1, lo1, hi2, lo2) ! 43: * register hi1, hi2; ! 44: * register unsigned lo1, lo2; ! 45: *{ ! 46: * if(hi1 < 0) { ! 47: * hi1 ^= 0x80000000; ! 48: * if(lo1) { ! 49: * lo1 = -lo1; ! 50: * hi1 = ~hi1; ! 51: * } else ! 52: * hi1 = -hi1; ! 53: * } ! 54: * if(hi2 < 0) { ! 55: * hi2 ^= 0x80000000; ! 56: * if(lo2) { ! 57: * lo2 = -lo2; ! 58: * hi2 = ~hi2; ! 59: * } else ! 60: * hi2 = -hi2; ! 61: * } ! 62: * if(hi1 != hi2) ! 63: * return(hi1>hi2 ? 1 : -1); ! 64: * if(lo1 != lo2) ! 65: * return(lo1>lo2 ? 1 : -1); ! 66: * return(0); ! 67: *} ! 68: */ ! 69: .text ! 70: ENTRY(Kcmpd, 0) ! 71: movl 8(fp),r3 ! 72: movl 12(fp),r4 ! 73: movl 16(fp),r2 ! 74: movl 4(fp),r5 ! 75: jgeq 1f ! 76: xorl2 $0x80000000,r5 ! 77: tstl r3 ! 78: jeql 2f ! 79: mnegl r3,r3 ! 80: mcoml r5,r5 ! 81: jbr 1f ! 82: 2: ! 83: mnegl r5,r5 ! 84: 1: ! 85: tstl r4 ! 86: jgeq 1f ! 87: xorl2 $0x80000000,r4 ! 88: tstl r2 ! 89: jeql 2f ! 90: mnegl r2,r2 ! 91: mcoml r4,r4 ! 92: jbr 1f ! 93: 2: ! 94: mnegl r4,r4 ! 95: 1: ! 96: cmpl r5,r4 ! 97: jeql 1f ! 98: jleq 2f ! 99: movl $1,r0 ! 100: ret ! 101: 2: ! 102: mnegl $1,r0 ! 103: ret ! 104: 1: ! 105: cmpl r3,r2 ! 106: jeql 1f ! 107: jlequ 2f ! 108: movl $1,r0 ! 109: ret ! 110: 2: ! 111: mnegl $1,r0 ! 112: ret ! 113: 1: ! 114: clrl r0 ! 115: ret
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.