17 lines
314 B
Text
17 lines
314 B
Text
align 16
|
|
; Input year as signed dword in EAX
|
|
IsLeapYear:
|
|
test eax,11b
|
|
jz .4
|
|
retn ; 75% : ZF=0, not a leap year
|
|
.4:
|
|
mov ecx,100
|
|
cdq
|
|
idiv ecx
|
|
test edx,edx
|
|
jz .100
|
|
cmp edx,edx
|
|
retn ; 24% : ZF=1, leap year
|
|
.100:
|
|
test eax,11b
|
|
retn ; 1% : ZF=?, leap year if EAX%400=0
|