Problema con enlace
Publicado por LAHM (1 intervención) el 23/07/2008 21:42:23
Saludos:
Estoy haciendo una prueba de enlace de códigos hechos en TurboC y ensamblador. Ambos códigos por separado compilan bien, pero al enlazarlos me produce los errores siguientes:
Error: undefined symbol _printf in module secur.cpp
Error: undefined symbol _scanf in module secur.cpp
Error: undefined symbol _set_cur(int,int) in module secur.cpp
Quizá pasé por alto algún elemento en la sintaxis de mi código en C. Sé que lo más práctico es codificar la rutina de ensamblador dentro del código de Turbo C, pero quiero probar este método también.
Agradezco sus atenciones
Los códigos son los siguientes:
--------------------MI CODIGO EN TURBO C---------------
#include <stdio.h>
extern int _set_cur(int temp_row,int temp_col);
main (void)
{
int temp_row;int temp_col;
printf("Introduce renglon de cursor: ");
scanf("%d",&temp_row);
printf("Introduce columna de cursor: ");
scanf("%d",&temp_col);
_set_cur(temp_row, temp_col);
printf("Nueva posicion de cursor ");
}
-------------------MI CODIGO EN ENSAMBLADOR-------------------------------------------------------------------
_data segment word 'data'
row equ [bp+4]
col equ [bp+6]
_data ends
;------------------------------------------------------------------------------
_text segment byte public 'code'
dgroup group _data
assume cs:_text,ds:dgroup,ss:dgroup
public _set_curs
_set_curs proc near
push bp
mov bp,sp
mov ah,02h ;petición de posición de cursor
mov bx,0 ;pagina de video
mov dh,row ;columna
mov dl,col ;renglon
int 10h ;llama al BIOS
pop bp ;restaura bp
ret ;regresa a donde fué llamado
_set_curs endp
_text ends
end
Estoy haciendo una prueba de enlace de códigos hechos en TurboC y ensamblador. Ambos códigos por separado compilan bien, pero al enlazarlos me produce los errores siguientes:
Error: undefined symbol _printf in module secur.cpp
Error: undefined symbol _scanf in module secur.cpp
Error: undefined symbol _set_cur(int,int) in module secur.cpp
Quizá pasé por alto algún elemento en la sintaxis de mi código en C. Sé que lo más práctico es codificar la rutina de ensamblador dentro del código de Turbo C, pero quiero probar este método también.
Agradezco sus atenciones
Los códigos son los siguientes:
--------------------MI CODIGO EN TURBO C---------------
#include <stdio.h>
extern int _set_cur(int temp_row,int temp_col);
main (void)
{
int temp_row;int temp_col;
printf("Introduce renglon de cursor: ");
scanf("%d",&temp_row);
printf("Introduce columna de cursor: ");
scanf("%d",&temp_col);
_set_cur(temp_row, temp_col);
printf("Nueva posicion de cursor ");
}
-------------------MI CODIGO EN ENSAMBLADOR-------------------------------------------------------------------
_data segment word 'data'
row equ [bp+4]
col equ [bp+6]
_data ends
;------------------------------------------------------------------------------
_text segment byte public 'code'
dgroup group _data
assume cs:_text,ds:dgroup,ss:dgroup
public _set_curs
_set_curs proc near
push bp
mov bp,sp
mov ah,02h ;petición de posición de cursor
mov bx,0 ;pagina de video
mov dh,row ;columna
mov dl,col ;renglon
int 10h ;llama al BIOS
pop bp ;restaura bp
ret ;regresa a donde fué llamado
_set_curs endp
_text ends
end
Valora esta pregunta


0