¿Cual es la mejor manera de manejar archivos?

Iniciado por Avoidance25, 25 Agosto 2009, 02:34 AM

0 Miembros y 1 Visitante están viendo este tema.

Avoidance25

Hice un encriptador de archivos en c, y queria hacerlo ahora en ASM para que sea mas rapido. El problema es que no se como escribir en archivos de otra manera que usando el int 21h, y me parece que usando asm de 32 bits se deberia hacer ya de otra forma.
Cual es la mejor manera de escribir en archivos ?, con la int 21h ?, o hay alguna API de windows que me ayude ?
--Recuerda siempre que eres único... Exactamente igual que todos los demás.
--Diplomacia es el arte de decir "bonito perrito"... hasta que puedas encontrar una piedra.
--Morir es como dormir, pero sin levantarse a hacer pis.
--En las guerras, los soldados reciben las balas y los generales las medallas.

YST

Para escribir archivos en windows usa las api's



Yo le enseñe a Kayser a usar objetos en ASM

MCKSys Argentina

Hola!

Te puedo recomendar el sitio de Iczelion. Sus tutoriales sobre ASM son de lo mejor que hay dando vueltas (aparte de haber sido unos de los primeros :D)

Página de Iczelion:
http://win32assembly.online.fr/

Saludos!
MCKSys Argentina

"Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."


Avoidance25

Muchas gracias por las respuestas, ambas me sirvieron muchisimo. De todas formas voy a ver de leer un poco antes de hacer el programa, ya que me doy cuenta de que hay mucha diferencia entre 16 y 32 bits.

Ahhh, me estaba preguntando: ¿Es un invoke mas lento que un call(con todos los push) cuando se quieren usar funciones?
--Recuerda siempre que eres único... Exactamente igual que todos los demás.
--Diplomacia es el arte de decir "bonito perrito"... hasta que puedas encontrar una piedra.
--Morir es como dormir, pero sin levantarse a hacer pis.
--En las guerras, los soldados reciben las balas y los generales las medallas.

Eternal Idol

invoke es una directiva que el ensamblador reemplazara por el pasaje de parametro necesario (normalmente push's si la convencion de llamada establece que los parametros van en la pila) y el call mismo. Es decir, finalmente es exactamente lo mismo.
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

YST

Cita de: Avoidance25 en 25 Agosto 2009, 19:17 PM
Ahhh, me estaba preguntando: ¿Es un invoke mas lento que un call(con todos los push) cuando se quieren usar funciones?

Un invoke es una macro que transforma lo que el pones antes de ensamblarlo un ejemplo
Código (asm) [Seleccionar]

invoke MessageBox,0,0,0,0

eso lo transforma el ensamblador en
Código (asm) [Seleccionar]

push 0
push 0
push 0
push 0
call [MessageBox]




Yo le enseñe a Kayser a usar objetos en ASM

Avoidance25

--Recuerda siempre que eres único... Exactamente igual que todos los demás.
--Diplomacia es el arte de decir "bonito perrito"... hasta que puedas encontrar una piedra.
--Morir es como dormir, pero sin levantarse a hacer pis.
--En las guerras, los soldados reciben las balas y los generales las medallas.