From: Diamond Newsgroups: comp.os.msdos.djgpp Subject: Interrupt handler problems Date: Mon, 16 Jun 1997 01:35:47 -0700 Organization: VTL Lines: 51 Message-ID: <33A4FAE3.1147@videotron.ca> Reply-To: diamondt AT videotron DOT ca NNTP-Posting-Host: ppp055.82.mque.videotron.net Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Precedence: bulk Hi all.. I'm working on my first project with djgpp; I'm writing a mod player for soundblaster [I actually wrote one in real mode asm before, and i'm converting it to djgpp to use it in my future programs]. The mod loading stuff is working well, but I got some real problems with the Irq and Timer handlers. :] My low level code for handling and seting those interrupts are in asm (nasm). My first question is: should I set, like I'm doing now, interrupt handlers with asm call to dpmi host (int 0x31) or should I use C func __dpmi_XXXXX (that would probably complicate things) ? Also, I get exception errors in my handler and I can't find what I am doing wrong: IrqHandler: push xxxxx cs inc dword [IrqCount] <-- error there ... pop xxxxxx sti iret I also tried: IrqHandler: push xxxxx cs mov ax, [DataSel] mov ds, ax .... pop xxxxxx sti iret And got errors too. Anyone can help me on this ? Finally, I want to know if messing with malloc and with asm-call-to-dpmi-dos-allocate-memory is actually good programming ? Should I avoid mixing asm and C memory managements ? btw, s'cuse the pretty english. :] Merci a l'avance :] Frederic Poulin