| delorie.com/archives/browse.cgi | search |
| From: | Joey Lloyd <joey DOT lloyd AT me DOT gatech DOT edu> |
| Newsgroups: | comp.os.msdos.djgpp |
| Subject: | Compile C with ASM --- Help me. |
| Date: | Fri, 11 Jun 1999 15:11:06 -0400 |
| Organization: | Georgia Institute of Technology, Atlanta GA, USA |
| Lines: | 106 |
| Message-ID: | <37615F49.290D9E29@me.gatech.edu> |
| NNTP-Posting-Host: | jlloyd.gtri.gatech.edu |
| Mime-Version: | 1.0 |
| X-Trace: | news-int.gatech.edu 929128264 13309 130.207.208.22 (11 Jun 1999 19:11:04 GMT) |
| X-Complaints-To: | usenet AT news DOT gatech DOT edu |
| NNTP-Posting-Date: | 11 Jun 1999 19:11:04 GMT |
| X-Mailer: | Mozilla 4.08 [en] (Win95; U) |
| To: | djgpp AT delorie DOT com |
| DJ-Gateway: | from newsgroup comp.os.msdos.djgpp |
| Reply-To: | djgpp AT delorie DOT com |
--------------6B1110CA55486B7D7CA03A33
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Below is a copy of an assembly and a C file that i am
trying to combine. I am using NASM to assemble the
.ASM file and GCC to compile/make/link these files.
When I run GCC i get the following error message:
undefined reference to 'getvmode(void)'
What am I doing wrong?
--------------------- Filename: gvm.asm -------------------
------- Assembled using: nasm gvm.asm -fcoff -ogvm.o ------
global _getvmode
section .text
_getvmode: mov ah,0x0f ;get video mode
int 0x10 ;call BIOS
ret ;Current video mode in AL
----------------------------------------------------------
--------------------- Filename: j.cc ---------------------
------- Compiled using: gcc j.cc gvm.o -o j.exe ----------
#include <stdio.h>
extern int getvmode();
int main()
{
int i;
i=getvmode();
printf("Video Mode: %d\n",i);
}
----------------------------------------------------------
Thanks.
Joey Lloyd
jolloyd AT bellsouth DOT net
--------------6B1110CA55486B7D7CA03A33
Content-Type: text/html; charset=us-ascii
Content-Transfer-Encoding: 7bit
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
Below is a copy of an assembly and a C file that i am
<BR>trying to combine. I am using NASM to assemble the
<BR>.ASM file and GCC to compile/make/link these files.
<BR>When I run GCC i get the following error message:
<P><B><TT>undefined reference to 'getvmode(void)'</TT></B>
<P>What am I doing wrong?
<BR>
<P><TT>--------------------- Filename: gvm.asm -------------------</TT>
<BR><TT>------- Assembled using: nasm gvm.asm -fcoff -ogvm.o ------</TT><TT></TT>
<P><B><TT>
global _getvmode</TT></B><B><TT></TT></B>
<P><B><TT>
section .text</TT></B><B><TT></TT></B>
<P><B><TT>_getvmode: mov ah,0x0f
;get video mode</TT></B>
<BR><B><TT>
int 0x10 ;call BIOS</TT></B>
<BR><B><TT>
ret
;Current video mode in AL</TT></B><TT></TT>
<P><TT>----------------------------------------------------------</TT>
<BR><TT></TT> <TT></TT>
<P><TT>--------------------- Filename: j.cc ---------------------</TT>
<BR><TT>------- Compiled using: gcc j.cc gvm.o -o j.exe ----------</TT>
<BR><TT></TT> <TT></TT>
<P><B><TT>#include <stdio.h></TT></B><B><TT></TT></B>
<P><B><TT>extern int getvmode();</TT></B><B><TT></TT></B>
<P><B><TT>int main()</TT></B>
<BR><B><TT>{</TT></B>
<BR><B><TT> int i;</TT></B><B><TT></TT></B>
<P><B><TT> i=getvmode();</TT></B><B><TT></TT></B>
<P><B><TT> printf("Video Mode:
%d\n",i);</TT></B>
<BR><B><TT>}</TT></B>
<BR><TT></TT> <TT></TT>
<P><TT>----------------------------------------------------------</TT><TT></TT>
<P>Thanks.
<P>Joey Lloyd
<BR>jolloyd AT bellsouth DOT net
<BR>
<BR> </HTML>
--------------6B1110CA55486B7D7CA03A33--
| webmaster | delorie software privacy |
| Copyright © 2019 by DJ Delorie | Updated Jul 2019 |