Xref: news2.mv.net comp.os.msdos.djgpp:585 From: Robert Hoehne Newsgroups: comp.os.msdos.djgpp Subject: Maybe a bug cwsdpmi ??? Date: 24 Jan 1996 12:16:52 GMT Organization: TU Chemnitz-Zwickau Lines: 66 Message-ID: <4e57vk$jc2@pyrrhus-f.hrz.tu-chemnitz.de> NNTP-Posting-Host: cache.hrz.tu-chemnitz.de To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp I want to write an interrupt-procedure with DJGPP. I tried it with the following program, but every time I run it, there is a Page fault. I am using DJGPP V2Beta4 and CWSDPMI Beta9. Where is the error. Here is my example ------------------------------------------------------------------ /* filename: test.c */ #include #include #include #include __dpmi_raddr oldint80,newint80; __dpmi_regs regs; void _new_int80(void) { } void exit_func(void) { __dpmi_set_real_mode_interrupt_vector(0x80,&oldint80); } main() { int i; char c; _go32_dpmi_lock_code(_new_int80, (unsigned long)(exit_func) - (unsigned long)_new_int80); __dpmi_get_real_mode_interrupt_vector(0x80,&oldint80); __dpmi_allocate_real_mode_callback(_new_int80,®s,&newint80); dosmemget(newint80.segment*16+newint80.offset16,2048,buffer); atexit(exit_func); __dpmi_set_real_mode_interrupt_vector(0x80,&newint80); __dpmi_int(0x80,®s); exit_func(); __dpmi_free_real_mode_callback(&newint80); } /* compiled with: -------------- gcc -o test test.c this is the result after running this program: ---------------------------------------------- Page fault cr2=10060fe7 in RMCB at eip=fe7; flags=3002 eax=00000000 ebx=00002396 ecx=00000000 edx=00050e67 esi=0001944e edi=0000a230 ebp=0004a298 esp=0000347c cs=e7 ds=3b es=f7 fs=33 gs=ff ss=33 error=0004 */ ------------------------------------------------------------------------------ bye Robert