elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


  Mostrar Mensajes
Páginas: 1 2 3 4 5 6 7 8 [9] 10
81  Programación / ASM / Re: Manipular flotantes en la pila en: 17 Junio 2016, 02:28 am
Tambien tienes flotantes de 32 bits, pero no entiendo del todo la pregunta. Algo asi?

Código
  1. push 0x3f800000    ; 1.0
  2. push 0x1  ; 1

La funcion trabajara como este programada, no se si  te estas refiriendo alguna funcion de C, pero ya tienes instrucciones para hacer eso. Son las FPU.

Un saludo.


Exactamente, note que los valores flotantes en realidad se interpretan como Enteros en la pila, ya no les veo utilidad real a los valores flotantes, Gracias por responder, me aclaraste la duda.
82  Programación / ASM / Re: IDE para ASM con interfaces en: 14 Junio 2016, 14:49 pm
El unico que conozco es Fresh IDE project, que te deja crear DLL's, COM, GUIS entre otras  cosas, nunca lo probe muy bien, pero se que es excelente.

Funciona para NASM, FASM y MASM Creo! para FASM seguro.

Ademas tiene un resaltador potente para la sintaxis de ensamblador.

Saludos!
83  Programación / ASM / Manipular flotantes en la pila en: 13 Junio 2016, 03:02 am
Buenas, necesito saber como trabajan las funciones/procedimientos con los flotantes, a lo que se refiere pasarlos por la pila.

¿Acaso envian el valor convertido a entero? ¿o simplemente pasan un puntero a la variable QWORD (8 bytes)?

Espero su respuesta, gracias de antemano!
84  Foros Generales / Sugerencias y dudas sobre el Foro / Re: Dudas sobre el acceso al foro en: 2 Junio 2016, 08:20 am
A mi me paso una vez ayer, ¿que sera?
85  Foros Generales / Foro Libre / Re: Nuevo Compilador en: 31 Mayo 2016, 18:39 pm
MinisFour entiendo, yo lo hice de esta manera debido a que seria imposible para mi encontrar una manera de crear un compilador que genere un archivo ejecutable directamente, ademas queria aprovechar las caracteristicas del compilador FASM.

agradezco a todos por sus comentarios, actualmente sigo trabajando en este compilador (añadí punteros y re-programe el analizis de variables y procedimientos), si esto se convierte en algo mas grande necesitaria un nombre para este programa ¿alguna idea?

Editado:
MinisFour dudo mucho que libere el código fuente original, talvez algún dia re-haga el compilador de cero y lo libere, el código es un desastre.

Si tienen sus dudas sobre los componentes del archivo, son totalmente libres de subirlo a VirusTotal.

Saludos!
86  Foros Generales / Foro Libre / Re: Nuevo Compilador en: 30 Mayo 2016, 09:31 am
no de manera tan simple (traducción directa),  algunos buscan la forma mas eficiente de la compilación (donde un código quede traducido a menos operaciones posibles),  otros buscan el código compilado mas seguro,  otras el menor consumo de recursos... y asi...

No te diria que el compilador cree código tan directo, añadí funciones que permiten minimisar el código ensamblador generado.

Si te refieres a que otros lenguajes usan (como por ejemplo) archivos objeto (.obj,.a,.o) pues no, el compilador no tiene complejidad en ese sentido, ya que lo que yo quiero es que sea lo mas simple posible.

Me quede traumado con C, cuando queria llamar a timeGetTime API y me lanzaba un error de referencia a dicha api, desde ahi decidí que si hacia un compilador algún dia, jamás iba a depender de archivos objetos externos.
87  Foros Generales / Foro Libre / Re: Nuevo Compilador en: 30 Mayo 2016, 06:02 am
fary, espero tus criticas sobre el código ensambladora generado, lo podes ver usando /asm, trate de hacerlo lo mas compacto y practico posible, aunque se que se puede mejorar mas.

MinisFour, es un lenguaje que efectivamente, yo estoy diseñando.

No he visto nada del código, pero me imagino que lo que haces es hacer la traducción de tu lenguaje a ASM y luego compilarlo con FASM.

Exactamente. ¿No funcionan todos los lenguajes de esa manera?.
88  Foros Generales / Noticias / Re: A fondo: ¿Cómo de seguro es el software open source? en: 29 Mayo 2016, 17:25 pm
#!drvy Yo personalmente difiero con tus argumentos, es verdad que software open source no siempre va a ser revisado, pero como dice el usuario Orubatosu; las empresas privadas te venden el software como ellos quieren, es preferible tener la certeza de que si creés que el software te perjudica, podes revisar el código fuente.

Los software open source generalmente son mejor desarrollados, ya que el desarrollador principal sabe que su software o código va ser utilizado por terceros, de otra manera no crearia dicho programa.
89  Foros Generales / Foro Libre / Nuevo Compilador en: 29 Mayo 2016, 16:20 pm
Bueno, les traigo una muestra de mi compilador, lo he estado programando estos ultimos meses y la verdad es que ha sido todo un desafio, nunca pense que iba a ser tan complejo y exajerado, pero con mucho esfuerzo he podido desarrollarlo hasta el punto de poder compartirlo con ustedes.

Antes de que lo prueben, les informo que los bugs estan GARANTIZADOS, asi que no me insulten demasiado.

Les dejo el enlace de descarga, pido disculpas si esto no se debe hacer en esta sección.

http://www.mediafire.com/download/f5xsd5mmymxf5o9/%5BBinario%5D_Compilado.zip

El comprimido contiene información y un código de ejemplo.

Espero criticas constructivas, sugerencias y recomendaciones.

Saludos!
90  Programación / ASM / Re: Cadenas en FASM en: 1 Mayo 2016, 20:16 pm
¿Me podrias dar un pequeño ejemplo? no puedo visualizar el código sin usar registros.

Código:
.datos
cadenita dd ?
TmpStr1 db "Soy una cadenita de longitud 50 o que se yo."
TmpLng = $ - TmpStr1
.código
inicio:
       ccall [malloc],TmpLng
       add esp,4 ; Liberamos el stack.
       mov [cadenita],eax
       push TmpStr1
       push [cadenita]
       ccall [strcat]
       add esp,8 ; Liberamos el stack.
       ; [cadenita] = Puntero A "Soy una cadenita de longitud 50 o que se yo."????????

entry inicio




Disculpen por el doble comentario, solucione mi problema con un procedimiento propio que hice, lo pongo acá por si alguien tiene el mismo problema que yo y requiere una solución, ademas no me gusta dejar mis posts sin el "resuelto".

Utilizo el siguiente procedimiento en mi compilador para concatenar cadenas.
Acepta 2 parametros (punteros a cadenas) y retorna un puntero a la cadena concatenada en EAX.

Código:
proc concatenar uses ecx,Fuente2,Fuente1 ; Retorna en EAX
mov EDI, [Fuente2]
push EDI
call [strlen]
Add ESP, 4
mov ESI, EAX
mov EDI, [Fuente1]
push EDI
call [strlen]
add ESP, 4
add ESI,EAX ; ecx = len(Fuente2) + len(Fuente1)
push ESI
call [malloc]
add ESP, 4
push EDI
push EAX
call [strcpy]
add ESP, 8
mov EDI, [Fuente2]
push EDI
push EAX
call [strcat]
add ESP, 8
ret
endp

Me hubiera gustado que fuera mas chica, pero como esta escrita en ensamblador supongo que de todas maneras debe ser muy rapida.
Páginas: 1 2 3 4 5 6 7 8 [9] 10
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines