Message-Id: <3.0.6.32.20000519211524.007c7290@pop.crosswinds.net> X-Sender: shinelight AT pop DOT crosswinds DOT net X-Mailer: QUALCOMM Windows Eudora Light Version 3.0.6 (32) Date: Fri, 19 May 2000 21:15:24 -0500 To: djgpp AT delorie DOT com From: "Thomas J. Hruska" Subject: Inline ASM question... In-Reply-To: <391a83ec.5977837@news.freeserve.net> References: <8empao$5k6$1 AT nnrp02 DOT primenet DOT com> <390ef9f9$0$72098 AT SSP1NO17 DOT highway DOT telekom DOT at> <8emvhq$7mn$1 AT nnrp03 DOT primenet DOT com> <3 DOT 0 DOT 6 DOT 32 DOT 20000505015633 DOT 007b2210 AT pop DOT crosswinds DOT net> <3 DOT 0 DOT 6 DOT 32 DOT 20000510204858 DOT 007b6e40 AT pop DOT crosswinds DOT net> <3 DOT 0 DOT 6 DOT 32 DOT 20000511021045 DOT 007af4a0 AT pop DOT crosswinds DOT net> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Reply-To: djgpp AT delorie DOT com Errors-To: nobody AT delorie DOT com X-Mailing-List: djgpp AT delorie DOT com X-Unsubscribes-To: listserv AT delorie DOT com Precedence: bulk Hello, I am doing that inline ASM thing...again. The situation is that I am trying to speed up screen dumps from a buffer to the video buffer using far pointers. The idea here is to perform the buffer copy using only one far pointer reference and a rep. So, I loaded esi, edi, and ecx with the appropriate values (I hope). After clearing the direction flag, I followed 's example for moving data (hence, the .byte 0x64). However, the problem comes in that rep movsl (or movsd, movs, movll, movb, movsb, mobsbb, etc.) does not assemble. The objective is to get the framerate up from 48 fps to 60 fps (maybe 70 fps) with this code. NOTE: The current selector is _dos_ds when the inline ASM executes (also, assume that y = 0x10000, x = screen_width * screen_height, x2 = 0). __asm__ __volatile__ (" pushl %%esi pushl %%edi movl %0, %%esi movl %1, %%edi movl %2, %%ecx cld .byte 0x64 rep movsl popl %%edi popl %%esi" : : "g" (&CurrMode.Buffer[x2]), "g" (0xB0000 - y), "g" ((x - x2) % 0x10000)); Thanks for any help in advance! Thomas J. Hruska -- shinelight AT crosswinds DOT net Shining Light Productions -- "Meeting the needs of fellow programmers" http://www.shininglightpro.com/