Añadir código escrito en ASM a un programa en C++

Como la librería estándar de C++ deja mucho que desear (a mi gusto), pensé en añadir funciones para optimizar algunas funciones básicas en x86.
Io.h
void streamOut(int stream, char* output, int len);
io.asm
StreamOut:
   mov eax, 4
   pop ebx
   pop ecx
   pop edx
   int 0x80
Y tengo unas cuantas dudas
1. Cuando se pasan parámetros en una función en C++, al hacer pop en ASM, ¿en qué orden lee?
2. Los archivos son compilados sin errores, pero cuando lo voy a convertir en un ejecutable me da referencia indefinida a la función.
3. Para que g++ me lea el código en ASM, ¿debo escribirlo en el estándar de GNU?

1 respuesta

Respuesta
1
Lee esto esta casi al final
http://www.zator.com/Cpp/E4_10.htm
main()
{
// programa en C
asm{
pusha
mov ax,0x0003
INT 0x10 // ERROR
mov ax,0x1112
INT 0x10 // ERROR
popa
}
// etc
}
o bien lee este foro
http://www.psicofxp.com/forums/programacion.313/446859-assembler-en-c-borland-6-a.html
Muchas gracias! Ya está todo aclarado, no sabía que se podía incluir código en ASM directamente al código fuente desde el mismo archivo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas