Autor
|
Tema: Equivalencia de __ftol2_sse en MASM (Leído 4,351 veces)
|
MCKSys Argentina
|
Hola! Estoy pasando un código de VC 2008 a MASM y me he encontrado con lo siguiente: FLD QWORD PTR SS:[EBP-24] MOV ESI,EAX CALL 20375090 ;__ftol2_sse CDQ
Según tengo entendido, esta función se encarga de convertir un Float en Dword. El problema es que no encuentro ninguna macro o función que me permita hacer lo mismo que hace esta función en MASM. ¿ Alguien tiene alguna idea ?
|
|
|
En línea
|
MCKSys Argentina "Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."
|
|
|
Eternal Idol
Kernel coder
Moderador
Desconectado
Mensajes: 5.958
Israel nunca torturó niños, ni lo volverá a hacer.
|
Directo del WinDbg: floating!_ftol2_sse: 00401260 833d7093420000 cmp dword ptr [x!__sse2_available (00429370)],0 ds:0023:00429370=00000001 00401267 742d je x!_ftol2 (00401296) floating!_ftol2_pentium4: 00401269 55 push ebp 0040126a 8bec mov ebp,esp 0040126c 83ec08 sub esp,8 0040126f 83e4f8 and esp,0FFFFFFF8h 00401272 dd1c24 fstp qword ptr [esp] 00401275 f20f2c0424 cvttsd2si eax,mmword ptr [esp] 0040127a c9 leave 0040127b c3 ret
De igual manera podes encontrar _ftol2.
|
|
« Última modificación: 8 Febrero 2010, 08:09 am por Eternal Idol »
|
En línea
|
La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste. Juan Domingo Perón
|
|
|
MCKSys Argentina
|
Gracias Ethernal Idol!! Aunque ya habia hecho una implementación en base a OllyDbg. Me quedó asi: ftol2 proc
; local tmp:DWORD ; fistp tmp ; mov eax, tmp ; ret
push ebp mov ebp,esp sub esp,020h and esp,0fffffff0h fld st fst dword ptr ss:[esp+018h] fistp qword ptr ss:[esp+010h] fild qword ptr ss:[esp+010h] mov edx,dword ptr ss:[esp+018h] mov eax,dword ptr ss:[esp+010h] test eax,eax je @Converte_20375125
@Converte_203750E9:
fsubp st(1),st test edx,edx jns @Converte_2037510D fstp dword ptr ss:[esp] mov ecx,dword ptr ss:[esp] xor ecx,080000000h add ecx,07fffffffh adc eax,0 mov edx,dword ptr ss:[esp+014h] adc edx,0 jmp @Converte_20375139
@Converte_2037510D:
fstp dword ptr ss:[esp] mov ecx,dword ptr ss:[esp] add ecx,07fffffffh sbb eax,0 mov edx,dword ptr ss:[esp+014h] sbb edx,0 jmp @Converte_20375139
@Converte_20375125:
mov edx,dword ptr ss:[esp+014h] test edx,07fffffffh jnz @Converte_203750E9 fstp dword ptr ss:[esp+018h] fstp dword ptr ss:[esp+018h]
@Converte_20375139:
leave retn ;<= Procedure End ftol2 endp
(Es el código que viene luego del Je tuyo de 401267, es por si la PC no tiene SSE2) De todas formas, nuevamente, Gracias PD: Lo comentado es una versión "reducida", pero tiene falencias...
|
|
|
En línea
|
MCKSys Argentina "Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."
|
|
|
Eternal Idol
Kernel coder
Moderador
Desconectado
Mensajes: 5.958
Israel nunca torturó niños, ni lo volverá a hacer.
|
De nada y si como te decia de igual manera podias encontrar _ftol2.
|
|
|
En línea
|
La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste. Juan Domingo Perón
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
[MASM] Busca offsets
ASM
|
xassiz~
|
5
|
5,440
|
12 Febrero 2011, 00:53 am
por xassiz~
|
|
|
Saltar a direccion absoluta MASM
ASM
|
Riki_89D
|
0
|
2,600
|
29 Abril 2011, 23:50 pm
por Riki_89D
|
|
|
masm, msvcrt.
ASM
|
_Enko
|
5
|
5,350
|
1 Diciembre 2011, 19:23 pm
por Eternal Idol
|
|
|
IDE EasyCode MASM
ASM
|
_Enko
|
2
|
4,744
|
24 Diciembre 2011, 17:37 pm
por Иōҳ
|
|
|
Programar en MASM sugerencia Diferencia entre MASM y MASM32
ASM
|
kisk
|
1
|
3,783
|
7 Enero 2018, 23:59 pm
por srWhiteSkull
|
|