www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1996/11/11/00:07:53

Date: Mon, 11 Nov 1996 17:55:12 +0000
From: Bill Currie <billc AT blackmagic DOT tait DOT co DOT nz>
Subject: Re: AT&T Assembly
To: "John F. Bell" <jfbell2 AT juno DOT com>
Cc: djgpp AT delorie DOT com
Reply-to: billc AT blackmagic DOT tait DOT co DOT nz
Message-id: <32876880.6B0A@blackmagic.tait.co.nz>
Organization: Tait Electronics NZ
MIME-version: 1.0
References: <328699C5 DOT 2E68 AT juno DOT com>

John F. Bell wrote:
> 
> Everyone must be sick of these assembly questions, but I can't figure
> this one out...
> 
> This copies the double buffer to the screen (or at least its supposed
> to)
> 
> __asm__ __volatile__ ("
>   movw $16000, %%cx\n
>   cld\n
>   rep\n
>   movsl"
>   :
>   :"D" (0xA0000+__djgpp_conventional_base), "S" (double_buffer)
>   :"ax", "cx", "si", "di", "memory"
      ^^^^^^^^^^^^^^^^^^^^ You need "e"'s on these I think

> );


> 
> This fills the double buffer with one color (it should anyway)
> 
> __asm__ __volatile__("
>    movb %%al, %%ah\n
>    movw %%ax, %%dx\n
>    shl  $16, %%ax\n
>    movw %%dx, %%ax\n
>    movw $16000, %%cx\n
>    rep\n
>    stosl"
>    :
>    :"a" (color), "D" (double_buffer)
>    :"ax", "cx", "dx", "di", "memory"
      ^^^^^^^^^^^^^^^^^^^^ You need "e"'s on these I think

> );

It appears you are using the near pointer approach. Did you remember to
enable them (__djgpp_nearptr_enable())? 

Hope this helps
Bill
-- 
Leave others their otherness.

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019