| www.delorie.com/archives/browse.cgi | search |
| X-Authentication-Warning: | delorie.com: mail set sender to djgpp-bounces using -f |
| From: | "Carey Evans" <carey DOT evans AT gmail DOT com> |
| Newsgroups: | comp.os.msdos.djgpp |
| Subject: | Re: inline asm |
| Date: | 3 Jul 2005 19:03:59 -0700 |
| Organization: | http://groups.google.com |
| Lines: | 29 |
| Message-ID: | <1120442639.225239.207870@g47g2000cwa.googlegroups.com> |
| References: | <n7_xe.90625$HI DOT 30182 AT edtnps84> |
| NNTP-Posting-Host: | 210.54.0.162 |
| Mime-Version: | 1.0 |
| X-Trace: | posting.google.com 1120442644 24811 127.0.0.1 (4 Jul 2005 02:04:04 GMT) |
| X-Complaints-To: | groups-abuse AT google DOT com |
| NNTP-Posting-Date: | Mon, 4 Jul 2005 02:04:04 +0000 (UTC) |
| User-Agent: | G2/0.2 |
| Complaints-To: | groups-abuse AT google DOT com |
| Injection-Info: | g47g2000cwa.googlegroups.com; posting-host=210.54.0.162; |
| posting-account=a2Dz9g0AAAAQI7DN4N6e935Thq5XWCRh | |
| To: | djgpp AT delorie DOT com |
| DJ-Gateway: | from newsgroup comp.os.msdos.djgpp |
| Reply-To: | djgpp AT delorie DOT com |
GNU_man wrote:
> Has anyone successfuly using inline asm in DJGPP C programs?
I'm using the _far* functions quite a bit, and they're written as
inline assembly in include/sys/farptr.h. I've also written my own
assembly like the examples below without any problems:
static void cpuid(
unsigned arg, unsigned *a, unsigned *b, unsigned *c, unsigned *d)
{
asm("cpuid"
: "=a" (*a), "=b" (*b), "=c" (*c), "=d" (*d) : "0" (arg));
}
static int bsf(unsigned long val)
{
int bit, tmp;
asm("xorl %0,%0\n\t"
"bsfl %2,%1\n\t"
"jz 1f\n\t"
"leal 1(%1),%0\n"
"1:"
: "=&q" (bit), "=q" (tmp) : "X" (val) : "cc");
return bit;
}
--
Carey Evans
| webmaster | delorie software privacy |
| Copyright © 2019 by DJ Delorie | Updated Jul 2019 |