Mail Archives: djgpp/2000/08/29/18:30:21
From: | "Gary Slaughenhaupt" <gary DOT slaughenhaupt AT ia DOT nsc DOT com>
|
Newsgroups: | comp.os.msdos.djgpp
|
Subject: | Newbie stuck.
|
Date: | Tue, 29 Aug 2000 16:24:20 -0600
|
Organization: | National Semiconductor, Santa Clara
|
Lines: | 46
|
Message-ID: | <8ohd8o$rsp$1@voder.nsc.com>
|
NNTP-Posting-Host: | catalpa.ia.nsc.com
|
X-Trace: | voder.nsc.com 967587928 28569 147.5.204.236 (29 Aug 2000 22:25:28 GMT)
|
X-Complaints-To: | usenet AT voder DOT nsc DOT com
|
NNTP-Posting-Date: | 29 Aug 2000 22:25:28 GMT
|
X-Priority: | 3
|
X-MSMail-Priority: | Normal
|
X-Newsreader: | Microsoft Outlook Express 5.00.2615.200
|
X-MimeOLE: | Produced By Microsoft MimeOLE V5.00.2615.200
|
To: | djgpp AT delorie DOT com
|
DJ-Gateway: | from newsgroup comp.os.msdos.djgpp
|
Reply-To: | djgpp AT delorie DOT com
|
I am attempting to convert this function:
int ShowXpressRomInfo()
{
unsigned char far * pBIOSTable = (unsigned char far *)0xF0000000L;
unsigned char xpressStart[12]=
{'X','p','r','e','s','s','S','t','a','r','t',0};
unsigned char xpressInfo[250];
int x = 0;
// Get BIOS Info Table
do
{
if (_fmemcmp((unsigned char far *) &xpressStart,\
pBIOSTable,\
_fstrlen((unsigned char far *) &xpressStart))== 0)
{
pBIOSTable+=12;
break;
} else pBIOSTable++;
} while (pBIOSTable <= (unsigned char far *) 0xF000FFF3L);
I modified it to this:
int ShowXpressRomInfo()
{
unsigned char * pBIOSTable = (unsigned char *)0xF0000000L;
unsigned char xpressStart[12]=
{'X','p','r','e','s','s','S','t','a','r','t',0};
unsigned char xpressInfo[250];
int x = 0;
// Get BIOS Info Table
do
{
if (memcmp((unsigned char *) &xpressStart,\
pBIOSTable,\
strlen((unsigned char *) &xpressStart))== 0)
{
pBIOSTable+=12;
break;
} else pBIOSTable++;
} while (pBIOSTable <= (unsigned char *) 0xF000FFF3L);
But I get a segment violation when attempting to do the memcmp.
Any advice would be appreciated.
- Raw text -