Xref: news-dnh.mv.net comp.os.msdos.djgpp:3423 Path: news-dnh.mv.net!mv!news.sprintlink.net!cs.utexas.edu!usc!math.ohio-state.edu!uwm.edu!fnnews.fnal.gov!hycpsg01!kccheng From: kccheng AT hycpsg01 DOT fnal DOT gov (Kuang-chun Cheng) Newsgroups: comp.os.msdos.djgpp Subject: need help Date: 24 Nov 1995 23:42:15 GMT Organization: FERMILAB, Batavia, IL Lines: 35 Nntp-Posting-Host: hycpsg01.fnal.gov To: djgpp AT sun DOT soe DOT clarkson DOT edu Dj-Gateway: from newsgroup comp.os.msdos.djgpp Hi, I am using DJGPP for a driver of a interface board on 386 which run under DOS 6.2. The interface board have 16K momary mapped on PC ISA bus 0xc4000~0xc7fff. I simply create a pointer to access, said, 0xc4000 directly. But I got a segmentation error like, Segmentation violation at pointer 0xc4000 in df:13f7 cs=df ds=48 es==48 .... Well, in segment df, the address is limited up to df<<4+0xFFFF. The access to 0xc4000 of course is a error. But my question is ... As I know, DJGPP is a 32 bits C compiler. Why I still be limited on segment << 4 +(16 bits offset) region ???? The following is the environment I used to compiler my program set DJGPP=c:\djgpp\djgpp.env set TMPDIR=c:\tmp set GO32TMP=c:\tmp set GO32= gcc -O4 -I./include -o my_prog my_prog.c coff2exe my_prog Thanks for any help and suggestion. Kuang-chun ________________ Kuang-chun Cheng kccheng AT phys DOT sinica DOT edu DOT tw kccheng AT hycpsg01 DOT fnal DOT gov