2005-08-26 17:39:27 +00:00
|
|
|
.486
|
|
|
|
.model flat
|
|
|
|
extrn __fltused:near
|
|
|
|
extrn __ftol:near
|
|
|
|
public _print
|
|
|
|
_TEXT segment
|
|
|
|
_print:
|
|
|
|
push ebx
|
|
|
|
push esi
|
|
|
|
push edi
|
|
|
|
push ebp
|
|
|
|
mov ebp,esp
|
|
|
|
fld qword ptr (_D)
|
|
|
|
sub esp,8
|
|
|
|
fstp qword ptr [esp]
|
|
|
|
fld qword ptr (_d)
|
|
|
|
sub esp,8
|
|
|
|
fstp qword ptr [esp]
|
|
|
|
fld dword ptr (_f)
|
|
|
|
sub esp,8
|
|
|
|
fstp qword ptr [esp]
|
|
|
|
mov edi,dword ptr (_L)
|
|
|
|
push edi
|
|
|
|
mov edi,dword ptr (_I)
|
|
|
|
push edi
|
|
|
|
mov di,word ptr (_S)
|
|
|
|
movzx edi,di
|
|
|
|
push edi
|
|
|
|
mov bl,byte ptr (_C)
|
|
|
|
movzx edi,bl
|
|
|
|
push edi
|
|
|
|
mov edi,dword ptr (_l)
|
|
|
|
push edi
|
|
|
|
mov edi,dword ptr (_i)
|
|
|
|
push edi
|
|
|
|
movsx edi,word ptr (_s)
|
|
|
|
push edi
|
|
|
|
movsx edi,byte ptr (_c)
|
|
|
|
push edi
|
|
|
|
lea edi,(L2)
|
|
|
|
push edi
|
|
|
|
call _printf
|
|
|
|
add esp,60
|
|
|
|
L1:
|
|
|
|
mov esp,ebp
|
|
|
|
pop ebp
|
|
|
|
pop edi
|
|
|
|
pop esi
|
|
|
|
pop ebx
|
|
|
|
ret
|
|
|
|
public _main
|
|
|
|
_main:
|
|
|
|
push ebx
|
|
|
|
push esi
|
|
|
|
push edi
|
|
|
|
push ebp
|
|
|
|
mov ebp,esp
|
|
|
|
sub esp,296
|
|
|
|
mov byte ptr (_c),1
|
|
|
|
movsx edi,byte ptr (_c)
|
|
|
|
mov esi,edi
|
|
|
|
mov word ptr (_s),si
|
|
|
|
mov dword ptr (_i),edi
|
|
|
|
mov dword ptr (_l),edi
|
|
|
|
mov esi,edi
|
|
|
|
mov ebx,esi
|
|
|
|
mov byte ptr (_C),bl
|
|
|
|
mov ebx,esi
|
|
|
|
mov word ptr (_S),bx
|
|
|
|
mov dword ptr (_I),esi
|
|
|
|
mov dword ptr (_L),esi
|
|
|
|
push edi
|
|
|
|
fild dword ptr 0[esp]
|
|
|
|
add esp,4
|
|
|
|
fstp dword ptr (_f)
|
|
|
|
push edi
|
|
|
|
fild dword ptr 0[esp]
|
|
|
|
add esp,4
|
|
|
|
fstp qword ptr (-8)[ebp]
|
|
|
|
fld qword ptr (-8)[ebp]
|
|
|
|
fstp qword ptr (_d)
|
|
|
|
fld qword ptr (-8)[ebp]
|
|
|
|
fstp qword ptr (_D)
|
|
|
|
call _print
|
|
|
|
add esp,0
|
|
|
|
mov word ptr (_s),2
|
|
|
|
movsx edi,word ptr (_s)
|
|
|
|
mov ebx,edi
|
|
|
|
mov byte ptr (_c),bl
|
|
|
|
mov dword ptr (_i),edi
|
|
|
|
mov dword ptr (_l),edi
|
|
|
|
mov esi,edi
|
|
|
|
mov ebx,esi
|
|
|
|
mov byte ptr (_C),bl
|
|
|
|
mov ebx,esi
|
|
|
|
mov word ptr (_S),bx
|
|
|
|
mov dword ptr (_I),esi
|
|
|
|
mov dword ptr (_L),esi
|
|
|
|
push edi
|
|
|
|
fild dword ptr 0[esp]
|
|
|
|
add esp,4
|
|
|
|
fstp dword ptr (_f)
|
|
|
|
push edi
|
|
|
|
fild dword ptr 0[esp]
|
|
|
|
add esp,4
|
|
|
|
fstp qword ptr (-16)[ebp]
|
|
|
|
fld qword ptr (-16)[ebp]
|
|
|
|
fstp qword ptr (_d)
|
|
|
|
fld qword ptr (-16)[ebp]
|
|
|
|
fstp qword ptr (_D)
|
|
|
|
call _print
|
|
|
|
add esp,0
|
|
|
|
mov dword ptr (_i),3
|
|
|
|
mov edi,dword ptr (_i)
|
|
|
|
mov ebx,edi
|
|
|
|
mov byte ptr (_c),bl
|
|
|
|
mov esi,edi
|
|
|
|
mov word ptr (_s),si
|
|
|
|
mov dword ptr (_l),edi
|
|
|
|
mov esi,edi
|
|
|
|
mov ebx,esi
|
|
|
|
mov byte ptr (_C),bl
|
|
|
|
mov ebx,esi
|
|
|
|
mov word ptr (_S),bx
|
|
|
|
mov dword ptr (_I),esi
|
|
|
|
mov dword ptr (_L),esi
|
|
|
|
push edi
|
|
|
|
fild dword ptr 0[esp]
|
|
|
|
add esp,4
|
|
|
|
fstp dword ptr (_f)
|
|
|
|
push edi
|
|
|
|
fild dword ptr 0[esp]
|
|
|
|
add esp,4
|
|
|
|
fstp qword ptr (-24)[ebp]
|
|
|
|
fld qword ptr (-24)[ebp]
|
|
|
|
fstp qword ptr (_d)
|
|
|
|
fld qword ptr (-24)[ebp]
|
|
|
|
fstp qword ptr (_D)
|
|
|
|
call _print
|
|
|
|
add esp,0
|
|
|
|
mov dword ptr (_l),4
|
|
|
|
mov edi,dword ptr (_l)
|
|
|
|
mov ebx,edi
|
|
|
|
mov byte ptr (_c),bl
|
|
|
|
mov esi,edi
|
|
|
|
mov word ptr (_s),si
|
|
|
|
mov dword ptr (_i),edi
|
|
|
|
mov esi,edi
|
|
|
|
mov ebx,esi
|
|
|
|
mov byte ptr (_C),bl
|
|
|
|
mov ebx,esi
|
|
|
|
mov word ptr (_S),bx
|
|
|
|
mov dword ptr (_I),esi
|
|
|
|
mov dword ptr (_L),esi
|
|
|
|
push edi
|
|
|
|
fild dword ptr 0[esp]
|
|
|
|
add esp,4
|
|
|
|
fstp dword ptr (_f)
|
|
|
|
push edi
|
|
|
|
fild dword ptr 0[esp]
|
|
|
|
add esp,4
|
|
|
|
fstp qword ptr (-32)[ebp]
|
|
|
|
fld qword ptr (-32)[ebp]
|
|
|
|
fstp qword ptr (_d)
|
|
|
|
fld qword ptr (-32)[ebp]
|
|
|
|
fstp qword ptr (_D)
|
|
|
|
call _print
|
|
|
|
add esp,0
|
|
|
|
mov byte ptr (_C),5
|
|
|
|
mov bl,byte ptr (_C)
|
|
|
|
movzx edi,bl
|
|
|
|
mov ebx,edi
|
|
|
|
mov byte ptr (_c),bl
|
|
|
|
mov esi,edi
|
|
|
|
mov word ptr (_s),si
|
|
|
|
mov dword ptr (_i),edi
|
|
|
|
mov dword ptr (_l),edi
|
|
|
|
mov esi,edi
|
|
|
|
mov ebx,esi
|
|
|
|
mov word ptr (_S),bx
|
|
|
|
mov dword ptr (_I),esi
|
|
|
|
mov dword ptr (_L),esi
|
|
|
|
push edi
|
|
|
|
fild dword ptr 0[esp]
|
|
|
|
add esp,4
|
|
|
|
fstp dword ptr (_f)
|
|
|
|
push edi
|
|
|
|
fild dword ptr 0[esp]
|
|
|
|
add esp,4
|
|
|
|
fstp qword ptr (-40)[ebp]
|
|
|
|
fld qword ptr (-40)[ebp]
|
|
|
|
fstp qword ptr (_d)
|
|
|
|
fld qword ptr (-40)[ebp]
|
|
|
|
fstp qword ptr (_D)
|
|
|
|
call _print
|
|
|
|
add esp,0
|
|
|
|
mov word ptr (_S),6
|
|
|
|
mov di,word ptr (_S)
|
|
|
|
movzx edi,di
|
|
|
|
mov ebx,edi
|
|
|
|
mov byte ptr (_c),bl
|
|
|
|
mov esi,edi
|
|
|
|
mov word ptr (_s),si
|
|
|
|
mov dword ptr (_i),edi
|
|
|
|
mov dword ptr (_l),edi
|
|
|
|
mov esi,edi
|
|
|
|
mov ebx,esi
|
|
|
|
mov byte ptr (_C),bl
|
|
|
|
mov dword ptr (_I),esi
|
|
|
|
mov dword ptr (_L),esi
|
|
|
|
push edi
|
|
|
|
fild dword ptr 0[esp]
|
|
|
|
add esp,4
|
|
|
|
fstp dword ptr (_f)
|
|
|
|
push edi
|
|
|
|
fild dword ptr 0[esp]
|
|
|
|
add esp,4
|
|
|
|
fstp qword ptr (-48)[ebp]
|
|
|
|
fld qword ptr (-48)[ebp]
|
|
|
|
fstp qword ptr (_d)
|
|
|
|
fld qword ptr (-48)[ebp]
|
|
|
|
fstp qword ptr (_D)
|
|
|
|
call _print
|
|
|
|
add esp,0
|
|
|
|
mov dword ptr (_I),7
|
|
|
|
mov edi,dword ptr (_I)
|
|
|
|
mov ebx,edi
|
|
|
|
mov byte ptr (_c),bl
|
|
|
|
mov ebx,edi
|
|
|
|
mov word ptr (_s),bx
|
|
|
|
mov dword ptr (_i),edi
|
|
|
|
mov dword ptr (_l),edi
|
|
|
|
mov ebx,edi
|
|
|
|
mov byte ptr (_C),bl
|
|
|
|
mov esi,edi
|
|
|
|
mov word ptr (_S),si
|
|
|
|
mov dword ptr (_L),edi
|
|
|
|
fld qword ptr (L4)
|
|
|
|
mov esi,edi
|
|
|
|
shr esi,1
|
|
|
|
push esi
|
|
|
|
fild dword ptr 0[esp]
|
|
|
|
add esp,4
|
|
|
|
fmulp st(1),st
|
|
|
|
and edi,1
|
|
|
|
push edi
|
|
|
|
fild dword ptr 0[esp]
|
|
|
|
add esp,4
|
|
|
|
faddp st(1),st
|
|
|
|
fstp qword ptr (-56)[ebp]
|
|
|
|
fld qword ptr (-56)[ebp]
|
|
|
|
fstp dword ptr (_f)
|
|
|
|
fld qword ptr (-56)[ebp]
|
|
|
|
fstp qword ptr (_d)
|
|
|
|
fld qword ptr (-56)[ebp]
|
|
|
|
fstp qword ptr (_D)
|
|
|
|
call _print
|
|
|
|
add esp,0
|
|
|
|
mov dword ptr (_L),8
|
|
|
|
mov edi,dword ptr (_L)
|
|
|
|
mov ebx,edi
|
|
|
|
mov byte ptr (_c),bl
|
|
|
|
mov ebx,edi
|
|
|
|
mov word ptr (_s),bx
|
|
|
|
mov dword ptr (_i),edi
|
|
|
|
mov dword ptr (_l),edi
|
|
|
|
mov ebx,edi
|
|
|
|
mov byte ptr (_C),bl
|
|
|
|
mov esi,edi
|
|
|
|
mov word ptr (_S),si
|
|
|
|
mov si,word ptr (_S)
|
|
|
|
movzx esi,si
|
|
|
|
mov dword ptr (_I),esi
|
|
|
|
fld qword ptr (L4)
|
|
|
|
mov esi,edi
|
|
|
|
shr esi,1
|
|
|
|
push esi
|
|
|
|
fild dword ptr 0[esp]
|
|
|
|
add esp,4
|
|
|
|
fmulp st(1),st
|
|
|
|
and edi,1
|
|
|
|
push edi
|
|
|
|
fild dword ptr 0[esp]
|
|
|
|
add esp,4
|
|
|
|
faddp st(1),st
|
|
|
|
fstp qword ptr (-64)[ebp]
|
|
|
|
fld qword ptr (-64)[ebp]
|
|
|
|
fstp dword ptr (_f)
|
|
|
|
fld qword ptr (-64)[ebp]
|
|
|
|
fstp qword ptr (_d)
|
|
|
|
fld qword ptr (-64)[ebp]
|
|
|
|
fstp qword ptr (_D)
|
|
|
|
call _print
|
|
|
|
add esp,0
|
|
|
|
fld dword ptr (L5)
|
|
|
|
fstp dword ptr (_f)
|
|
|
|
fld dword ptr (_f)
|
|
|
|
fstp dword ptr (-84)[ebp]
|
|
|
|
fld dword ptr (-84)[ebp]
|
|
|
|
call __ftol
|
|
|
|
mov edi,eax
|
|
|
|
mov ebx,edi
|
|
|
|
mov byte ptr (_c),bl
|
|
|
|
mov esi,edi
|
|
|
|
mov word ptr (_s),si
|
|
|
|
mov dword ptr (_i),edi
|
|
|
|
mov dword ptr (_l),edi
|
|
|
|
fld dword ptr (L9)
|
|
|
|
fcomp dword ptr (-84)[ebp]
|
|
|
|
fstsw ax
|
|
|
|
sahf
|
|
|
|
ja L7
|
|
|
|
fld dword ptr (-84)[ebp]
|
|
|
|
fsub dword ptr (L9)
|
|
|
|
call __ftol
|
|
|
|
mov edi,eax
|
|
|
|
lea edi,(080000000H)[edi]
|
|
|
|
mov dword ptr (-68)[ebp],edi
|
|
|
|
jmp L8
|
|
|
|
L7:
|
|
|
|
fld dword ptr (-84)[ebp]
|
|
|
|
call __ftol
|
|
|
|
mov edi,eax
|
|
|
|
mov dword ptr (-68)[ebp],edi
|
|
|
|
L8:
|
|
|
|
mov edi,dword ptr (-68)[ebp]
|
|
|
|
mov ebx,edi
|
|
|
|
mov byte ptr (_C),bl
|
|
|
|
fld dword ptr (L9)
|
|
|
|
fcomp dword ptr (_f)
|
|
|
|
fstsw ax
|
|
|
|
sahf
|
|
|
|
ja L11
|
|
|
|
fld dword ptr (_f)
|
|
|
|
fsub dword ptr (L9)
|
|
|
|
call __ftol
|
|
|
|
mov edi,eax
|
|
|
|
lea edi,(080000000H)[edi]
|
|
|
|
mov dword ptr (-72)[ebp],edi
|
|
|
|
jmp L12
|
|
|
|
L11:
|
|
|
|
fld dword ptr (_f)
|
|
|
|
call __ftol
|
|
|
|
mov edi,eax
|
|
|
|
mov dword ptr (-72)[ebp],edi
|
|
|
|
L12:
|
|
|
|
mov edi,dword ptr (-72)[ebp]
|
|
|
|
mov word ptr (_S),di
|
|
|
|
fld dword ptr (L9)
|
|
|
|
fcomp dword ptr (_f)
|
|
|
|
fstsw ax
|
|
|
|
sahf
|
|
|
|
ja L14
|
|
|
|
fld dword ptr (_f)
|
|
|
|
fsub dword ptr (L9)
|
|
|
|
call __ftol
|
|
|
|
mov edi,eax
|
|
|
|
lea edi,(080000000H)[edi]
|
|
|
|
mov dword ptr (-76)[ebp],edi
|
|
|
|
jmp L15
|
|
|
|
L14:
|
|
|
|
fld dword ptr (_f)
|
|
|
|
call __ftol
|
|
|
|
mov edi,eax
|
|
|
|
mov dword ptr (-76)[ebp],edi
|
|
|
|
L15:
|
|
|
|
mov edi,dword ptr (-76)[ebp]
|
|
|
|
mov dword ptr (_I),edi
|
|
|
|
fld dword ptr (L9)
|
|
|
|
fcomp dword ptr (_f)
|
|
|
|
fstsw ax
|
|
|
|
sahf
|
|
|
|
ja L17
|
|
|
|
fld dword ptr (_f)
|
|
|
|
fsub dword ptr (L9)
|
|
|
|
call __ftol
|
|
|
|
mov edi,eax
|
|
|
|
lea edi,(080000000H)[edi]
|
|
|
|
mov dword ptr (-80)[ebp],edi
|
|
|
|
jmp L18
|
|
|
|
L17:
|
|
|
|
fld dword ptr (_f)
|
|
|
|
call __ftol
|
|
|
|
mov edi,eax
|
|
|
|
mov dword ptr (-80)[ebp],edi
|
|
|
|
L18:
|
|
|
|
mov edi,dword ptr (-80)[ebp]
|
|
|
|
mov dword ptr (_L),edi
|
|
|
|
fld dword ptr (_f)
|
|
|
|
fstp qword ptr (-120)[ebp]
|
|
|
|
fld qword ptr (-120)[ebp]
|
|
|
|
fstp qword ptr (_d)
|
|
|
|
fld qword ptr (-120)[ebp]
|
|
|
|
fstp qword ptr (_D)
|
|
|
|
call _print
|
|
|
|
add esp,0
|
|
|
|
fld qword ptr (L19)
|
|
|
|
fstp qword ptr (_d)
|
|
|
|
fld qword ptr (_d)
|
|
|
|
fstp qword ptr (-144)[ebp]
|
|
|
|
fld qword ptr (-144)[ebp]
|
|
|
|
call __ftol
|
|
|
|
mov edi,eax
|
|
|
|
mov ebx,edi
|
|
|
|
mov byte ptr (_c),bl
|
|
|
|
mov esi,edi
|
|
|
|
mov word ptr (_s),si
|
|
|
|
mov dword ptr (_i),edi
|
|
|
|
mov dword ptr (_l),edi
|
|
|
|
fld qword ptr (L23)
|
|
|
|
fcomp qword ptr (-144)[ebp]
|
|
|
|
fstsw ax
|
|
|
|
sahf
|
|
|
|
ja L21
|
|
|
|
fld qword ptr (-144)[ebp]
|
|
|
|
fsub qword ptr (L23)
|
|
|
|
call __ftol
|
|
|
|
mov edi,eax
|
|
|
|
lea edi,(080000000H)[edi]
|
|
|
|
mov dword ptr (-124)[ebp],edi
|
|
|
|
jmp L22
|
|
|
|
L21:
|
|
|
|
fld qword ptr (-144)[ebp]
|
|
|
|
call __ftol
|
|
|
|
mov edi,eax
|
|
|
|
mov dword ptr (-124)[ebp],edi
|
|
|
|
L22:
|
|
|
|
mov edi,dword ptr (-124)[ebp]
|
|
|
|
mov ebx,edi
|
|
|
|
mov byte ptr (_C),bl
|
|
|
|
fld qword ptr (L23)
|
|
|
|
fcomp qword ptr (_d)
|
|
|
|
fstsw ax
|
|
|
|
sahf
|
|
|
|
ja L25
|
|
|
|
fld qword ptr (_d)
|
|
|
|
fsub qword ptr (L23)
|
|
|
|
call __ftol
|
|
|
|
mov edi,eax
|
|
|
|
lea edi,(080000000H)[edi]
|
|
|
|
mov dword ptr (-128)[ebp],edi
|
|
|
|
jmp L26
|
|
|
|
L25:
|
|
|
|
fld qword ptr (_d)
|
|
|
|
call __ftol
|
|
|
|
mov edi,eax
|
|
|
|
mov dword ptr (-128)[ebp],edi
|
|
|
|
L26:
|
|
|
|
mov edi,dword ptr (-128)[ebp]
|
|
|
|
mov word ptr (_S),di
|
|
|
|
fld qword ptr (L23)
|
|
|
|
fcomp qword ptr (_d)
|
|
|
|
fstsw ax
|
|
|
|
sahf
|
|
|
|
ja L28
|
|
|
|
fld qword ptr (_d)
|
|
|
|
fsub qword ptr (L23)
|
|
|
|
call __ftol
|
|
|
|
mov edi,eax
|
|
|
|
lea edi,(080000000H)[edi]
|
|
|
|
mov dword ptr (-132)[ebp],edi
|
|
|
|
jmp L29
|
|
|
|
L28:
|
|
|
|
fld qword ptr (_d)
|
|
|
|
call __ftol
|
|
|
|
mov edi,eax
|
|
|
|
mov dword ptr (-132)[ebp],edi
|
|
|
|
L29:
|
|
|
|
mov edi,dword ptr (-132)[ebp]
|
|
|
|
mov dword ptr (_I),edi
|
|
|
|
fld qword ptr (L23)
|
|
|
|
fcomp qword ptr (_d)
|
|
|
|
fstsw ax
|
|
|
|
sahf
|
|
|
|
ja L31
|
|
|
|
fld qword ptr (_d)
|
|
|
|
fsub qword ptr (L23)
|
|
|
|
call __ftol
|
|
|
|
mov edi,eax
|
|
|
|
lea edi,(080000000H)[edi]
|
|
|
|
mov dword ptr (-136)[ebp],edi
|
|
|
|
jmp L32
|
|
|
|
L31:
|
|
|
|
fld qword ptr (_d)
|
|
|
|
call __ftol
|
|
|
|
mov edi,eax
|
|
|
|
mov dword ptr (-136)[ebp],edi
|
|
|
|
L32:
|
|
|
|
mov edi,dword ptr (-136)[ebp]
|
|
|
|
mov dword ptr (_L),edi
|
|
|
|
fld qword ptr (_d)
|
|
|
|
fstp dword ptr (_f)
|
|
|
|
fld qword ptr (_d)
|
|
|
|
fstp qword ptr (_D)
|
|
|
|
call _print
|
|
|
|
add esp,0
|
|
|
|
fld qword ptr (L33)
|
|
|
|
fstp qword ptr (_D)
|
|
|
|
fld qword ptr (_D)
|
|
|
|
fstp qword ptr (-232)[ebp]
|
|
|
|
fld qword ptr (-232)[ebp]
|
|
|
|
call __ftol
|
|
|
|
mov edi,eax
|
|
|
|
mov ebx,edi
|
|
|
|
mov byte ptr (_c),bl
|
|
|
|
mov esi,edi
|
|
|
|
mov word ptr (_s),si
|
|
|
|
mov dword ptr (_i),edi
|
|
|
|
mov dword ptr (_l),edi
|
|
|
|
fld qword ptr (L37)
|
|
|
|
fcomp qword ptr (-232)[ebp]
|
|
|
|
fstsw ax
|
|
|
|
sahf
|
|
|
|
ja L35
|
|
|
|
fld qword ptr (-232)[ebp]
|
|
|
|
fsub qword ptr (L37)
|
|
|
|
call __ftol
|
|
|
|
mov edi,eax
|
|
|
|
lea edi,(080000000H)[edi]
|
|
|
|
mov dword ptr (-212)[ebp],edi
|
|
|
|
jmp L36
|
|
|
|
L35:
|
|
|
|
fld qword ptr (-232)[ebp]
|
|
|
|
call __ftol
|
|
|
|
mov edi,eax
|
|
|
|
mov dword ptr (-212)[ebp],edi
|
|
|
|
L36:
|
|
|
|
mov edi,dword ptr (-212)[ebp]
|
|
|
|
mov ebx,edi
|
|
|
|
mov byte ptr (_C),bl
|
|
|
|
fld qword ptr (L37)
|
|
|
|
fcomp qword ptr (_D)
|
|
|
|
fstsw ax
|
|
|
|
sahf
|
|
|
|
ja L39
|
|
|
|
fld qword ptr (_D)
|
|
|
|
fsub qword ptr (L37)
|
|
|
|
call __ftol
|
|
|
|
mov edi,eax
|
|
|
|
lea edi,(080000000H)[edi]
|
|
|
|
mov dword ptr (-216)[ebp],edi
|
|
|
|
jmp L40
|
|
|
|
L39:
|
|
|
|
fld qword ptr (_D)
|
|
|
|
call __ftol
|
|
|
|
mov edi,eax
|
|
|
|
mov dword ptr (-216)[ebp],edi
|
|
|
|
L40:
|
|
|
|
mov edi,dword ptr (-216)[ebp]
|
|
|
|
mov word ptr (_S),di
|
|
|
|
fld qword ptr (L37)
|
|
|
|
fcomp qword ptr (_D)
|
|
|
|
fstsw ax
|
|
|
|
sahf
|
|
|
|
ja L42
|
|
|
|
fld qword ptr (_D)
|
|
|
|
fsub qword ptr (L37)
|
|
|
|
call __ftol
|
|
|
|
mov edi,eax
|
|
|
|
lea edi,(080000000H)[edi]
|
|
|
|
mov dword ptr (-220)[ebp],edi
|
|
|
|
jmp L43
|
|
|
|
L42:
|
|
|
|
fld qword ptr (_D)
|
|
|
|
call __ftol
|
|
|
|
mov edi,eax
|
|
|
|
mov dword ptr (-220)[ebp],edi
|
|
|
|
L43:
|
|
|
|
mov edi,dword ptr (-220)[ebp]
|
|
|
|
mov dword ptr (_I),edi
|
|
|
|
fld qword ptr (L37)
|
|
|
|
fcomp qword ptr (_D)
|
|
|
|
fstsw ax
|
|
|
|
sahf
|
|
|
|
ja L45
|
|
|
|
fld qword ptr (_D)
|
|
|
|
fsub qword ptr (L37)
|
|
|
|
call __ftol
|
|
|
|
mov edi,eax
|
|
|
|
lea edi,(080000000H)[edi]
|
|
|
|
mov dword ptr (-224)[ebp],edi
|
|
|
|
jmp L46
|
|
|
|
L45:
|
|
|
|
fld qword ptr (_D)
|
|
|
|
call __ftol
|
|
|
|
mov edi,eax
|
|
|
|
mov dword ptr (-224)[ebp],edi
|
|
|
|
L46:
|
|
|
|
mov edi,dword ptr (-224)[ebp]
|
|
|
|
mov dword ptr (_L),edi
|
|
|
|
fld qword ptr (_D)
|
|
|
|
fstp dword ptr (_f)
|
|
|
|
fld qword ptr (_D)
|
|
|
|
fstp qword ptr (_d)
|
|
|
|
call _print
|
|
|
|
add esp,0
|
|
|
|
mov dword ptr (_p),0
|
|
|
|
mov dword ptr (_p),0
|
|
|
|
mov dword ptr (_p),0
|
|
|
|
mov dword ptr (_p),0
|
|
|
|
mov edi,dword ptr (_P)
|
|
|
|
mov dword ptr (_p),edi
|
|
|
|
mov dword ptr (_P),0
|
|
|
|
mov dword ptr (_P),0
|
|
|
|
mov dword ptr (_P),0
|
|
|
|
mov dword ptr (_P),0
|
|
|
|
mov edi,dword ptr (_p)
|
|
|
|
mov dword ptr (_P),edi
|
|
|
|
mov eax,0
|
|
|
|
L3:
|
|
|
|
mov esp,ebp
|
|
|
|
pop ebp
|
|
|
|
pop edi
|
|
|
|
pop esi
|
|
|
|
pop ebx
|
|
|
|
ret
|
|
|
|
_TEXT ends
|
|
|
|
extrn _printf:near
|
|
|
|
_TEXT segment
|
|
|
|
_TEXT ends
|
|
|
|
_DATA segment
|
|
|
|
public _P
|
|
|
|
align 4
|
|
|
|
_P label byte
|
|
|
|
db 4 dup (0)
|
|
|
|
public _p
|
|
|
|
align 4
|
|
|
|
_p label byte
|
|
|
|
db 4 dup (0)
|
|
|
|
public _D
|
|
|
|
align 4
|
|
|
|
_D label byte
|
|
|
|
db 8 dup (0)
|
|
|
|
public _d
|
|
|
|
align 4
|
|
|
|
_d label byte
|
|
|
|
db 8 dup (0)
|
|
|
|
public _f
|
|
|
|
align 4
|
|
|
|
_f label byte
|
|
|
|
db 4 dup (0)
|
|
|
|
public _L
|
|
|
|
align 4
|
|
|
|
_L label byte
|
|
|
|
db 4 dup (0)
|
|
|
|
public _I
|
|
|
|
align 4
|
|
|
|
_I label byte
|
|
|
|
db 4 dup (0)
|
|
|
|
public _S
|
|
|
|
align 2
|
|
|
|
_S label byte
|
|
|
|
db 2 dup (0)
|
|
|
|
public _C
|
|
|
|
align 1
|
|
|
|
_C label byte
|
|
|
|
db 1 dup (0)
|
|
|
|
public _l
|
|
|
|
align 4
|
|
|
|
_l label byte
|
|
|
|
db 4 dup (0)
|
|
|
|
public _i
|
|
|
|
align 4
|
|
|
|
_i label byte
|
|
|
|
db 4 dup (0)
|
|
|
|
public _s
|
|
|
|
align 2
|
|
|
|
_s label byte
|
|
|
|
db 2 dup (0)
|
|
|
|
public _c
|
|
|
|
align 1
|
|
|
|
_c label byte
|
|
|
|
db 1 dup (0)
|
|
|
|
_DATA ends
|
|
|
|
_TEXT segment
|
|
|
|
align 4
|
|
|
|
L37 label byte
|
|
|
|
dd 00H
|
|
|
|
dd 041e00000H
|
|
|
|
align 4
|
|
|
|
L33 label byte
|
|
|
|
dd 00H
|
|
|
|
dd 040260000H
|
|
|
|
align 4
|
|
|
|
L23 label byte
|
|
|
|
dd 00H
|
|
|
|
dd 041e00000H
|
|
|
|
align 4
|
|
|
|
L19 label byte
|
|
|
|
dd 00H
|
|
|
|
dd 040240000H
|
|
|
|
align 4
|
|
|
|
L9 label byte
|
|
|
|
dd 04f000000H
|
|
|
|
align 4
|
|
|
|
L5 label byte
|
|
|
|
dd 041100000H
|
|
|
|
align 4
|
|
|
|
L4 label byte
|
|
|
|
dd 00H
|
|
|
|
dd 040000000H
|
|
|
|
align 1
|
|
|
|
L2 label byte
|
|
|
|
db 37
|
|
|
|
db 100
|
|
|
|
db 32
|
|
|
|
db 37
|
|
|
|
db 100
|
|
|
|
db 32
|
|
|
|
db 37
|
|
|
|
db 100
|
|
|
|
db 32
|
|
|
|
db 37
|
|
|
|
db 108
|
|
|
|
db 100
|
|
|
|
db 32
|
|
|
|
db 37
|
|
|
|
db 117
|
|
|
|
db 32
|
|
|
|
db 37
|
|
|
|
db 117
|
|
|
|
db 32
|
|
|
|
db 37
|
|
|
|
db 117
|
|
|
|
db 32
|
|
|
|
db 37
|
|
|
|
db 108
|
|
|
|
db 117
|
|
|
|
db 32
|
|
|
|
db 37
|
|
|
|
db 102
|
|
|
|
db 32
|
|
|
|
db 37
|
|
|
|
db 102
|
|
|
|
db 32
|
|
|
|
db 37
|
|
|
|
db 108
|
|
|
|
db 102
|
|
|
|
db 10
|
|
|
|
db 0
|
|
|
|
_TEXT ends
|
|
|
|
end
|