Rev | Line | |
---|
[9] | 1 | ! cmp64*() - 64 bit compare Author: Kees J. Bot
|
---|
| 2 | ! 7 Dec 1995
|
---|
| 3 | .sect .text
|
---|
| 4 | .define _cmp64, _cmp64u, _cmp64ul
|
---|
| 5 |
|
---|
| 6 | _cmp64: ! int cmp64(u64_t i, u64_t j);
|
---|
| 7 | mov ecx, esp
|
---|
| 8 | cmp64: xor eax, eax
|
---|
| 9 | mov edx, 4(ecx)
|
---|
| 10 | sub edx, 12(ecx)
|
---|
| 11 | mov edx, 8(ecx)
|
---|
| 12 | sbb edx, 16(ecx)
|
---|
| 13 | sbb eax, eax ! eax = - (i < j)
|
---|
| 14 | mov edx, 12(ecx)
|
---|
| 15 | sub edx, 4(ecx)
|
---|
| 16 | mov edx, 16(ecx)
|
---|
| 17 | sbb edx, 8(ecx)
|
---|
| 18 | adc eax, 0 ! eax = (i > j) - (i < j)
|
---|
| 19 | ret
|
---|
| 20 |
|
---|
| 21 | _cmp64u: ! int cmp64u(u64_t i, unsigned j);
|
---|
| 22 | _cmp64ul: ! int cmp64ul(u64_t i, unsigned long j);
|
---|
| 23 | mov ecx, esp
|
---|
| 24 | push 16(ecx)
|
---|
| 25 | mov 16(ecx), 0
|
---|
| 26 | call cmp64
|
---|
| 27 | pop 16(ecx)
|
---|
| 28 | ret
|
---|
| 29 |
|
---|
| 30 | !
|
---|
| 31 | ! $PchId: cmp64.ack.s,v 1.2 1996/04/11 18:59:57 philip Exp $
|
---|
Note:
See
TracBrowser
for help on using the repository browser.