blob: 28d1ee0ce2d3ea81b2ce3bdc459ea32dbc7fa272 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
.text
.globl __isleap
.type __isleap,@function
__isleap:
movl 4(%esp),%eax
testb $3,%al
jne .Lretzero
#if 1
movb $100,%cl /* this works only for 0 a.D. ... 25599 a.C. */
divb %cl
andb %ah,%ah
#else
cltd /* This works for 2147483648 b.C. ... 2147483647 a.C. */
movl $100,%ecx
divl %ecx
andl %edx,%edx
#endif
jne .Lretone
testb $3,%al
jne .Lretzero
.Lretone: xorl %eax,%eax
incl %eax
ret
.Lretzero:xorl %eax,%eax
ret
|