Xref: news-dnh.mv.net comp.os.msdos.djgpp:3006 Newsgroups: comp.os.msdos.djgpp Path: news-dnh.mv.net!mv!news.sprintlink.net!tank.news.pipex.net!pipex!news.mathworks.com!newsfeed.internetmci.com!in1.uu.net!psinntp!psinntp!psinntp!psinntp!netrixgw.netrix.com!news From: ld AT jasmine DOT netrix DOT com (Long Doan) Subject: Re: Scrolling in ASM Lines: 33 Sender: news AT netrix DOT com Organization: Netrix Corporation Date: Wed, 1 Nov 1995 22:27:38 GMT To: djgpp AT sun DOT soe DOT clarkson DOT edu Dj-Gateway: from newsgroup comp.os.msdos.djgpp [The original message was about getting SegFault when copying 199 bytes of Video Ram to another part in Video Ram.] Since the copy operation copies 199 bytes, it's possible that the code use some thing like: push eax, ecx, esi, edi, ds, and es movl $199, %ecx movl $source, %esi movl $dest, %edi movw _vid_ram_sel, %ax movw %ax, %ds movw %ax, %es rep movsb pop registers. Which can cause trouble if: 1. Instead of using 199 and movsb, 199/4 and movsl is used, so the last byte is out of the segment. 2. %es and/or %ds is not restored, and causes crashes later on. 3. %esi and/or %edi is not restored, and causes crashes later on. It will be more helpful if you can post the code that causes trouble. Hope that helps, Long. -- ============================================================== Long Doan ld AT netrix DOT com Netrix Corporation ldoan1 AT osf1 DOT gmu DOT edu 13595 Dulles Technology Drive Herndon Va 22071 ==============================================================