Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Eternal Idol

#2601
Lo mejor que podes hacer es instalar el WinDbg y depurar.
#2602
El error que te da es de enlazado, no tiene forma de resolver el simbolo de la funcion inportb. ¿Estas trabajando con herramientas de 32/64 bits? Si es asi no podes usar esa funcion que es justamente de MS-DOS.
#2603
ASM / Re: duda add esp, 4 y crash
12 Agosto 2011, 10:44 AM
Para hacerla bien corta tenes que poner los nombres de las funciones importadas entre corchetes:

call [printf]
y
call [system]

Esto se debe a que el nombre por si mismo (printf, sleep, etc.) apunta a la sección de datos de tu programa donde el loader pone despues la direccion de la funcion cuando se carga el ejecutable. Cuando no usas los corchetes estas llamando a esa direccion y ahi no hay codigo sino un puntero a una funcion.

Los add los tenes que volver a poner, existen diferentes convenciones de llamada (las mas usadas en Windows son STDCALL y C) y la que usan estas dos funciones al ser de la Run Time de C (MSVCRT= Microsoft Visual C Run Time) es obviamente C. Esta convencion de llamada establece que el llamador es el encargado de sacar lo que puso en la pila (esto permite tener funciones con un numero de parametros variable como printf justamente), en este caso vos pasas un parametro en cada llamada y por eso despues ajustas la pila sumandole el valor de un DWORD.


Código (asm) [Seleccionar]

format pe console
entry main
include 'win32a.inc'
section ".data" data readable writeable


hello db 'Hello %d!', 0
year dd 2011

section ".code" code readable writeable

main:
;db 0xCC
push [year]
push hello
call [printf]
add esp,8

mov eax,0
ret

section ".idata" import data readable
library msvcrt, "msvcrt"
import msvcrt, printf, "printf"


Si hay algo que no entendes lo mejor que podes hacer es descomentar el breakpoint (db 0xCC) y depurar el programa con el WinDbg asi vas a ir viendo por ejemplo que hay en la pila en cada paso (dd @esp).
#2605
Aunque no juego (casi) nunca online me uni  ;D ¿Alguien juega el Borderlands?  :silbar:
#2606
ASM / Re: Duda sobre modo :P
18 Julio 2011, 12:23 PM
Los S.O.s modernos trabajan en modo protegido (32 bits) y long (64 bits); no en modo real.
#2607
SWOS 96/97.
#2608
ASM / Re: bubblesort en fasm
21 Junio 2011, 20:01 PM
_Enko: por favor no resucites hilos ni hagas tareas  ;) Gracias y un saludo.
#2609
Cita de: saavedra1986 en 19 Junio 2011, 21:35 PMy no estarla llevando al servicio tecnico lo cual estamos obligados a pagar el arreglo.... ya no saben como mas sacarnos plata estos politicos de m...a jajaja, nos dicen aca tienen todos los alumnos algo gratis para que no sean tan ignorantes pero en verdad lo que quieren es que paguemos en cuotas de 30, 60 o 90 dias el arreglo de estas netbook, a mi no me engañan y no me creo eso de que son gratis al fin terminaremos pagando por estas net....
cuando tenga la solucion se las estare pasando.

Si, tenes razon, te regalan una netbook a vos para sacarte plata ... mira que vi giles por Internet ... pero claro vos sos tan capo que no te engañan  ;-)
#2610
Programación C/C++ / Re: C ¿Windows?
8 Junio 2011, 00:03 AM
Puro blabla.