www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1999/05/12/18:20:27.1

From: Chuming <nchuming AT magix DOT com DOT sg>
Newsgroups: comp.os.msdos.djgpp
Subject: problem with extended inline asm
Date: Wed, 12 May 1999 17:29:42 +0800
Organization: ZeroSoft
Lines: 33
Message-ID: <37394A06.BA8BBA94@magix.com.sg>
NNTP-Posting-Host: ad130-110.magix.com.sg
Mime-Version: 1.0
X-Mailer: Mozilla 4.51 [en] (Win98; I)
X-Accept-Language: en,zh,zh-CN,zh-TW
To: djgpp AT delorie DOT com
DJ-Gateway: from newsgroup comp.os.msdos.djgpp
Reply-To: djgpp AT delorie DOT com

Hi there, can anyone help me with the following problems:

1) when using extended inline asm in djgpp, is the input registers field
limited
 to only 10 operands. Is there any way to get around the problem?

eg:
  __asm__ __volatile__
  ("
         /* asm statements*/
  "
  :
  : "g" (x1), "g" (x2), "g" (x3)... until more than 10 inputs
  : "edi","eax","ecx","ebx","memory"
  );

2) Is it possible to access C local variables in inline asm?

eg.  when we're in a function...

 (void) func(int x,int y )
 {
    int z;

   __asm__ __volatile__
   ("
       /* can we do something like in intel asm...*/
       /*  "mov [z],100" or "mov [x],255" etc...*/
  "
  );
 }

Thanx in advance!!

- Raw text -


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