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

#942
¿Sor Ethel? Y justamente sorete no esta en el diccionario de la RAE  ;D
#943
Cita de: x64Core en 27 Mayo 2015, 03:54 AM
Si realloc devuelve un nulo, el puntero a memoria es aún valido, la memoria no es liberada ;D

Si, por eso deberia asignar el valor devuelto en una tercera variable momentaneamente (aunque me imagino que esta fallando por el otro caso no contemplado).
#944
http://www.cplusplus.com/reference/cstdlib/realloc/

Return Value
A pointer to the reallocated memory block, which may be either the same as ptr or a new location. The type of this pointer is void*, which can be cast to the desired type of data pointer in order to be dereferenceable.

Si realloc no devuelve _value estas escribiendo en cualquier lado (memoria liberada).

PD. El que llame a toString tiene que liberar la memoria que este reserva.
#945
ASM / Re: Problemas al instalar masm32
26 Mayo 2015, 21:31 PM
Cita de: cpu2 en 26 Mayo 2015, 21:10 PMSi las instrucciones trabajan con 16 bits, si las son, pero en realidad no son las originales de un 80x86, como dije anteriormente. Eso es lo que intento decir @EI y se malinterpreto, por eso le pregute para que pudiera aclarar el tema.

Claro, no son las mismas por lo que ya mencione anteriormente: las instrucciones dependen del modo de ejecucion, el procesador las interpreta de acuerdo al modo de ejecucion.

Cita de: cpu2 en 26 Mayo 2015, 21:10 PMSupongo que esto ayudara, los opcodes no coinciden con los originales de un 80x86 puro, modo real.

Hay mas excepciones como la que mostre del opcode DEC de un byte o la instruccion AAA (037h), esas son instrucciones de 16 bits y 32 bits (segun el modo de ejecucion), no son de 64 bits.

Cita de: cpu2 en 26 Mayo 2015, 21:10 PMHay excepciones como por ejemplo xchg, tambien serian dos bytes en 64 bits pero con el prefijo indicado, con 16 igual con su prefijo, y por ultimo el 32 bits pues con el byte solo.

Me referia a que una instruccion de un byte seria de 8 bits ;)

Cita de: cpu2 en 26 Mayo 2015, 21:10 PMFue un malentendido no se ofusquen de esa manera xD.

Uno puede tener un mal dia, dos veces seguidas en dias consecutivos vomitando esa pedanteria indica que estamos ante un pobre individuo. Hasta aca llegamos con el tema.
#946
ASM / Re: Problemas al instalar masm32
26 Mayo 2015, 20:52 PM
Cita de: luisferfago en 26 Mayo 2015, 19:41 PM
sí: quiero decir exactamente eso: que esas instrucciones son de 16 bits en toda regla.

Cita de: Eternal Idol en 25 Mayo 2015, 08:11 AM
El S.O. no cambia a modo real una vez iniciado asi que el procesador no ejecuta instrucciones de 16 bits. No se para que uno lo podria querer igualmente  :silbar:

Bien, el procesador en modo long no es capaz de ejecutar el DEC E/AX (opcode 048h) o POP DS (opcode 0x1F). Por lo tanto el procesador en modo long ejecuta instrucciones de 64 bits (si, aunque sea capaz de acceder a los registros legacy).

Cita de: luisferfago en 26 Mayo 2015, 19:41 PMotra cosa es que el procesador no conmute a modo real para ejecutarlas, claro.
pero no digas que esas instrucciones no son de 16 bits porque están operando con registros de 16 bits.

Siguiendo tu logica AL es un registro de 8 bits y por lo tanto la instruccion xor al, al es de 8 bits.

Cita de: luisferfago en 26 Mayo 2015, 19:41 PM¿el prefijo 66h es invalido en 64 bits? te vuelvo a decir: ¿no me digas?

Y yo te voy a decir lo que tendria que haberte dicho en tu primer mensaje: BAJATE DEL CABALLO, NO HAY MUCHA DISTANCIA. Ahora si, aprende a leer con atencion, nadie dijo que el prefijo fuera invalido, el opcode si lo es por lo explicado anteriormente. Tu ejemplo solo demuestra mi punto, la instruccion de 16 bits es 085h, 0C0h y es TEST AX, AX, el prefijo se necesita en 32 bits ya que de otra manera esa MISMA e IDENTICA instruccion seria TEST EAX, EAX. Las instrucciones dependen del modo de ejecucion y seria bueno que lo entendieras antes de volvera responder.

PD. Estrictamente hablando las instrucciones de 16 bits son las que constan de dos bytes.
#947
ASM / Re: Problemas al instalar masm32
25 Mayo 2015, 20:05 PM
Cita de: luisferfago en 25 Mayo 2015, 17:58 PM
mov    ax, 1234h
xor     bx, ax
...

¿Así que estas instrucciones de 16 bits no se ejecutan en el procesador (de 32, de 64)?
Vaya, vaya, ... no me digas.

Por poner un ejemplo: Windows Home 64 bits con procesador Intel 64 bits:
Depura el Notepad.exe (un ejecutable de 64 bits) y poco muy poco, pero verás algunas intrucciones, como esta:

xor    al, al
ret

¿Queres decir que esas instrucciones que trabajan con registros de 16 u 8 bits son de 16 bits? Las instrucciones dependen del modo de ejecucion.

Abro el WinDbg de 32 bits y el notepad idem.

!dh notepad
eb notepad+address of entry point 0x1f
g

Repetir con el WinDbg de 64 bits y notepad idem.

Edito con otro ejemplo el opcode 048h en 16 bits es DEC AX, en 32 bits DEC EAX (como decia el amigo cpu2 si queres hacer DEC AX le antepones el operand-size prefix 066h) y en 64 bits es invalido.
#948
Programación C/C++ / Re: ????? :(
25 Mayo 2015, 11:52 AM
¿Y que hiciste hasta ahora? No se hacen tareas.

PD. Trata de poner un titulo con un minimo de relacion con la duda por favor.
#949
ASM / Re: Problemas al instalar masm32
25 Mayo 2015, 08:11 AM
Cita de: cpu2 en 25 Mayo 2015, 01:19 AMYa te recomendaron una forma de empezar bien.

A lo mejor lo entendi mal @EI, pero enserio no se puede colocar code en 16 bits? No me refiero a las llamadas a DOS, si no a instrucciones y demas.

El S.O. no cambia a modo real una vez iniciado asi que el procesador no ejecuta instrucciones de 16 bits. No se para que uno lo podria querer igualmente  :silbar:

http://en.wikipedia.org/wiki/Virtual_8086_mode#64-bit_and_VMX_support
#950
Programación C/C++ / Re: Duda
25 Mayo 2015, 00:06 AM
Cita de: Peregring-lk en 24 Mayo 2015, 23:02 PM
Bueno, es bastante obvio, viendo las dos primeras líneas del programa, que está programando en C++.

SojatDotar no publico nada de codigo.