ioef/code/tools/lcc/x86/win32/tst/cvt.sbk
2005-10-04 15:18:22 +00:00

742 lines
11 KiB
Text

.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