C/Visual C - Ensamblador

 
Vista:

Ensamblador

Publicado por Hugo (3 intervenciones) el 04/01/2004 17:35:19
Mi pregunta es como hacer un modulo en assembler dentro de un programa hecho en visual c++.

El modulo toma dos variables, una es un arreglo de caracteres, el cual contiene una palabra; la segunda variable es un caracter. El modulo debe comparar el caracter con la palabra, y de estar contenida en la misma debe retornar al programa en c++ su posicion, o posiciones en el caso que se repita.

se que para iniciar este modulo se comienza por la instruccion _asm
pero no entiendo como pasar las dos variables, y tambien me gustaria saber como hacer para retornar un conjunto de posiciones del caracter dentro de la palabra

Muchas Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Ensamblador

Publicado por El Mogur (202 intervenciones) el 04/01/2004 18:04:48
Hola

Puedes acceder a las variables de C/C++ en la parte de _asm.

Aquí pongo un ejemplo cutre (compilado en C++ Builder, no en VC++), que suma los caracteres de una cadena, los mete en una variable, y borra la cadena, todo en uno.

char cad[10];
int resul;
strcpy(cad, "012345678");

_asm {
lea ebx, cad;
mov eax, 10;
xor edx, edx;
xor ecx, ecx;
bucle:
mov cl, byte ptr [ebx];
add edx, ecx;
mov byte ptr [ebx], 0;
inc ebx;
dec eax;
jnz bucle;
mov resul, edx;
};

ShowMessage(resul);
ShowMessage(cad);

Espero que te sirva.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar