Autor
|
Tema: Duda sobre modo :P (Leído 4,638 veces)
|
S3kh
Desconectado
Mensajes: 58
|
Tengo una duda, no logro entender esto: Yo para usar ASM en WinXP, SI O SI tengo que usar ASM de 32bits (eso de modo protegido) sin interrupciones y eso? O puedo usar ASM 16bits en modo real? En caso de poder usar 16bits, se pueden crear con MASM? O tengo que usar otro? Leí, y me bajé el TASM jajaj, es viejo pero bueno estoy intentando aprender
|
|
|
En línea
|
|
|
|
Eternal Idol
Kernel coder
Moderador
Desconectado
Mensajes: 5.969
Israel nunca torturó niños, ni lo volverá a hacer.
|
Los S.O.s modernos trabajan en modo protegido (32 bits) y long (64 bits); no en modo real.
|
|
|
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
|
|
|
S3kh
Desconectado
Mensajes: 58
|
Es decir que no puedo usar interrupciones y demás? Porque juraría que en el debug puedo usar interrupciones y los programas funcionan. O es por el hecho de que algunas son interrupciones del S.O y otras de la BIOS y sólamente no se puede acceder a las últimas?
|
|
|
En línea
|
|
|
|
_Enko
|
En WinXp32, el modo real está emulado. Cuando ejecutas un programa de 16 se esta ejecutando sobre un especie de emulador. En Win7 de 64 no. Y en Win7 de 32 creo que tampoco, tengo la duda.
La solucion mas facil, es usar DosBox para correr los programas de 16 bit.
Aunque claro, no le veo la razon de estar aprendiendo con Tasm16, Masm16 etc...Al fin y al cabo, estamos en el 2011.
|
|
|
En línea
|
|
|
|
S3kh
Desconectado
Mensajes: 58
|
Claro, pero es que me interesa conocerlo. Digamos, ASM 32bits, con las APIs y demás se me hace mas sencillo. Digamos, veo un codigo en FASM y lo puedo entender (y eso que estoy aprendiendo ASM). O sea, me interesa, y tengo curiosidad. Si, tenía entendido eso de que el subsistema de 16b es virtual y demás.Pero, yo por ejemplo con el debug puedo usar interrupciones y demás. Tengo entendido que es el subsitema de 16bits. Esto es nada mas por experimentar. Digamos, aprender ASM de 32bits me resulta muuucho mas sencillo, pero bueno
|
|
|
En línea
|
|
|
|
_Enko
|
Es que hay una cosa que estas ignorando creo...
asm 32 bit no es invoke MessageBoxA, [hwnd], szMsg, szMsg, MB_ALERT
El modo protegido (32 bit) es mucho mas completo que el real (16bit). Lo unico que no puedes hacer en 32bit es ejecutar interrupciones de la Bios porque la BIOS funciona en modo real.
Lo que ocurre, es que si programas para Windows terminas usando la WinApi y el codigo no es mucho mas distinto de lo que se ve en C.
Si usas Debug.exe en WinXP estas usando un emulador de DOS. Para que realmente puedas comprar ambas modos, tendrias que hacerlo en una maquina virtual con tu propio SO, de lo contrario son llamadas a la winapi.
Basicamente, asm 32bit sobre windows, es como si fueras a un tenedor libre, pero solo te dejan comer ensalada de pepino, cebolla y tomate.
|
|
|
En línea
|
|
|
|
S3kh
Desconectado
Mensajes: 58
|
Ah ahora entendí bien n.n gracias a todos n.n ahora a seguir leyendo muchísimas gracias
|
|
|
En línea
|
|
|
|
|
|
|