C/Visual C - ASM en Visual C++

 
Vista:

ASM en Visual C++

Publicado por hector (10 intervenciones) el 10/06/2005 07:15:52
hola a todos , quisiera saber como puedo escribir aplicaciones en Visual c++ , que interactuen con codigo ASM(assembler).

gracias de antemano.
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:ASM en Visual C++

Publicado por fernando.gomez (1603 intervenciones) el 10/06/2005 17:21:26
En VC tienes que emplear la sentencia __asm:

void foo()
{
// hacer algo en C/C++
__asm {
; hacer algo en ensamblador
}
// seguir haciendo algo en C/C++
}

Nota que aunque ANSI C99 define "asm" para esta operación, VC la implementa como una extensión del lenguaje (por ello los "__" antes de "asm").

Saludos.


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

RE:ASM en Visual C++

Publicado por Julio Aguilar (2 intervenciones) el 10/06/2005 19:38:49
No en Visual C 6.0 es con un _ nada mas.

_asm
{

}
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

Muchas Gracias.

Publicado por Hector (10 intervenciones) el 10/06/2005 20:18:52
Gracias amigos.
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

pero que ASM utiliza?

Publicado por Hector (10 intervenciones) el 10/06/2005 20:35:22
que pena amigos , este quisiera saber que tipo de codigo ASM acepta Visual c++. si nams,masm o tasm.

gracias y que pena.
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

RE:pero que ASM utiliza?

Publicado por fernando.gomez (1603 intervenciones) el 10/06/2005 22:59:59
Hasta donde yo sé, los que mencionaste son compiladores. En teoría, VC debe pasar íntegro el código escrito en ensamblador (quizás haciendo algún parseo de sintaxis).

Ahora, no sé si esos compiladores tengan alguna particularidad, pero el que es avalado por Microsoft es el MASM32. Así, si hay alguna diferencia, supongo yo que éste es que habrás de usar.

Saludos.
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

RE:ASM en Visual C++

Publicado por fernando.gomez (1603 intervenciones) el 10/06/2005 22:55:39
De hecho ambas se utilizan. Esto, porque usualmente las extensiones "estándares" (aquellas que se han aceptado para formar parte del estándar, pero que por una u otra razón no se han incluído en el mismo) inician con un guión (p.e. _beginthread definido en <process.h>). Además, las extensiones de Microsoft comienzan con dos guiones (p.e. __stdcall).

Cuando VC6 salió, todavía no se ratificaba el estándar de C99 ni el de C++ con la ahora llamada Standard C++ Library, y varios puntos como el _asm. Ahora, con VC7 se dejó _asm por compatibilidad.

Pero puedes emplear ambas, _asm o __asm indistintamente.
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

RE:ASM en Visual C++

Publicado por hector (10 intervenciones) el 13/06/2005 05:57:23
muchisimas gracias. saludos y suerte.
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