problema asm

Iniciado por flony, 30 Diciembre 2013, 00:55 AM

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

flony

hola amigos como esta, como pasaron la navidad? ojala que bien  ;-) ;-)
bueno mi problema es el siguiente
datos previos:
                      visual studio 2012
                      procesador intel core i5 x64
preparación del proyecto
                      cambio de win 32 a 64
                      personalización de compilación marcar masm
para proyectos chicos estaba bien, ahora cuando hago este proyecto, el cual obtuve de http://www.youtube.com/watch?v=kQc85ci6BRk&list=PL0C5C980A28FEE68D
me sale el siguiente error
Citar>Compilación iniciada a las 29/12/2013 20:11:01.
1>Main.obj : error LNK2019: símbolo externo ZerroArray sin resolver al que se hace referencia en la función main
1>C:\Users\Administrador\Documents\Visual Studio 2012\ConsoleApplication5\x64\Debug\ConsoleApplication5.exe : fatal error LNK1120: 1 externos sin resolver
1>
1>ERROR al compilar.
1>
y me canse de buscarle la vuelta
aca los code
main.cpp
#include<iostream>
#include<stdlib.h>


#include "ZerroArray.h"
using namespace std;

int main ()
{
int count =1024;
char *arr=new char [count];

for (int i = 0; i < count; i++)
{
arr[i]=(char)rand();
}
for (int j = 0; j < count; j++)
{
cout<<(int)arr[j]<<" ";
}

ZerroArray(arr, count*sizeof(char));

for (int k = 0; k < count; k++)
{
cout<<(int) arr [k]<<" " ;
}

cin.get();
delete[] arr;
return 0;
}


ZerroArray.h
#ifndef ZERROARRAY_H
#define ZERROARRAY_H
extern "C" void ZerroArray(void *arr, int countInBytes);


#endif

y ZerroArray.asm
.code
ZerroArray proc
cmp edx, 0
jle Finished

cmp edx, 1
je SetFinalByte

mov ax, 0
mov r8d, edx
shr edx,1

MainLoop:
mov word ptr [rcx], ax
add rcx,2
dec edx
jnz MainLoop

and r8d,1
jz Finished

SetFinalByte:
mov byte prt [rcx],0

Finished:
ret
ZerroArray endp
end
si un problema no tiene solucion entonces no es un problema...es algo inevitable

leosansan

#1
Perdona que te moleste, pero ¿me puedes indicar que programa usas para escribir en asm?. O lo haces directamente en un editor o en tu IDE de C++?:

Gracias de antemano y:




¡¡¡¡ Saluditos! ..... !!!!

:rolleyes: ;) ;) ;) :rolleyes:


flony

leosansan
si el mismo ide...solo que estarías usando masm...
fíjate el tutorial esta bueno para trabajar en 64 bit que es algo que buscaba, todo bien con 32 pero si mi pc es de 64 porque trabajar con 32?
si un problema no tiene solucion entonces no es un problema...es algo inevitable

amchacon

Cita de: flony en 30 Diciembre 2013, 11:22 AMfíjate el tutorial esta bueno para trabajar en 64 bit que es algo que buscaba, todo bien con 32 pero si mi pc es de 64 porque trabajar con 32?
Pues que a lo mejor estás compilando el cpp en 32 bits.

Cita de: leosansan en 30 Diciembre 2013, 06:13 AMPerdona que te moleste, pero ¿me puedes indicar que programa usas para escribir en asm?. O lo haces directamente en un editor o en tu IDE de C++?:
Lo que es "escribir" se puede hacer en el notepad ++.

¿Ensamblar? Pues depende, lo mejor es mezclar C y ASM. La mayoría de los compiladores permiten asm embebido (es decir, mezclar C y asm en el mismo código).
Por favor, no me manden MP con dudas. Usen el foro, gracias.

¡Visita mi programa estrella!

Rar File Missing: Esteganografía en un Rar