FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Ayuda con lenguaje- ¿Que corres, 32 ó 64 bits?
Hola, tengo este código funcionando perfectamente:
...pero intento meter menos ensamblador y mas pascal, no veo como utilizar el resultado del "test eax,eax", osea, el estado del Zero Flag, directamente en pascal se ahorraria code, declaraciones y la salida del programa etc lo manejaria el compilador ...algo así :
Saludos |
#2
|
||||
|
||||
También puedes hacer todo sin ensamblador, ejemplo:
|
#3
|
|||
|
|||
hola
Gracias Casimiro, lo probé, funciona tambien, he pobado otra cosa que aparentemente funciona, aunque
cogido por un pelo, no me convence del todo: ...se supone que en este caso eax va a ser uno o cero, cero en caso de 32 bits ( flag ZF a 1), uno en caso de 64 bits (flag ZF a cero), entonces le estoy haciendo trampas al compilador.... Se puede también ver si es 32 ó 64 accediendo al TEB (https://en.wikipedia.org/wiki/Win32_...ormation_Block) así: ...................... .......................... 4 FS:[0x3C] NT Address of CSR Client Thread 4 FS:[0x40] NT Win32 Thread Information 124 FS:[0x44] NT, Wine Win32 client information (NT), user32 private data (Wine), 0x60 = LastError (Win95), 0x74 = LastError (WinME) 4 FS:[0xC0] NT Reserved for Wow64. Contains a pointer to FastSysCall in Wow64. 4 FS:[0xC4] NT Current Locale 4 FS:[0xC8] NT FP Software Status Register ....................... ................. ...en este caso no se le pueden hacer trampas al compilador, no funciona..pero se me ha ocurrido otra cosa, vi en el código de "Detours": ... voy a crear una funcion que me de como result los eflagss y luego sólo habria que comprobar si el bit correspondiente al ZeroFlag está a cero o uno..... Ya os lo contaré... Saludos |
#4
|
||||
|
||||
#5
|
||||
|
||||
Los dos sistemas propuestos para saber si la arquitectuta del S.O. es de 32 o 64 bits pueden escribirse en delphi de esta forma, teniendo en cuenta que el resultado de una función siempre se devuelve en el registro eax:
Su uso sería así:
Saludos. |
#6
|
|||
|
|||
Perfecto!.Escafandra, eso es lo que buscaba,
Gracias Saludos |
Herramientas | Buscar en Tema |
Desplegado | |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Instalar componentes de 32 bits en una PC de win7 a 64 bits | uper | Windows | 10 | 29-01-2016 18:08:30 |
compilar programas 32 bits con lazarus 64 bits | anubis | Lazarus, FreePascal, Kylix, etc. | 3 | 30-10-2013 18:08:44 |
Ayuda : Delphi 32bits/64 bits | luisdevis | Varios | 4 | 21-08-2010 19:31:25 |
Como ejecutar aplicativos dbExpress de 32 bits en 64 bits | rolandoj | Conexión con bases de datos | 0 | 30-07-2010 19:39:07 |
Aplicaciones de 32 bits en Windows de 64 bits | Gabo | Debates | 9 | 25-09-2008 20:49:32 |
|