Pregunta: | 4633 - COMO LIGAR EN PROGRAMAS . |
Autor: | marco antonio Lopez Manzano |
La pregunta es la siguiente: Quisiera saber la forma de como ligar ensamblador con borland C, visual basic, Visual C++ Y Visual Fox Pro. Otras interrupciones a parte del int 10h y int 21H, o en caso que no nos puedan decir la forma de ligar envien unas paguinas principales.sobre los temas. |
Respuesta: | Oscar L |
Aqui hay un ejemplo compilado con BC++ y TASM:
Codigo en C++: #include <stdio.h> extern "C" int suma(int a, int b); //indica que se encuentra en un archivo .obj aparte. void main() { int x = suma (25,15); printf ("Suma de 15+25=%d ",x); getchar(); } codigo en ensamblador: public _suma .model small .code _suma proc near push bp mov bp,sp mov ax, [bp+4] ;25 mov bx, [bp+6] ;15 add ax,bx pop bp ret _suma endp end Notas: -se declara _suma ya q C++ por default añade un "_" a todas las funciones. -C++ espera el valor de retorno en AX. -los archivos deben tener diferente nombre para que el compilador genere dos archivos .obj diferentes; de lo contrario se sobreescribira uno y el linker no podra unirlos en el .exe |
Respuesta: | Juan Pablo Giraldo Rendon |
A través del programa de tlink se dejan unir todos los obj que sean necesarios. Además c y sus versiones compilan assembler asi : asm { codigo en assembler } En el libro de assembler de peter norton existen al final un grupo de elementos para conectar objetos. |