Line | |
---|
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.