delorie.com/archives/browse.cgi | search |
X-Authentication-Warning: | delorie.com: mail set sender to djgpp-bounces using -f |
From: | "Rod Pemberton" <do_not_have AT nohavenot DOT cmm> |
Newsgroups: | comp.os.msdos.djgpp |
Subject: | Re: Using inline asm |
Date: | Thu, 25 Oct 2007 04:39:14 -0400 |
Organization: | Aioe.org NNTP Server |
Lines: | 23 |
Message-ID: | <ffpkhp$p9o$1@aioe.org> |
References: | <471FEAC8 DOT 5179 DOT 2FAB88DB AT gerritvn DOT gpvno DOT co DOT za> <200710250120 DOT l9P1KEb2032374 AT envy DOT delorie DOT com> <ffp07f$66t$1 AT aioe DOT org> <200710250306 DOT l9P36dqi002391 AT envy DOT delorie DOT com> |
NNTP-Posting-Host: | IVw7K97ih4IohxRqyKkqFw.user.aioe.org |
Mime-Version: | 1.0 |
X-Complaints-To: | abuse AT aioe DOT org |
X-MimeOLE: | Produced By Microsoft MimeOLE V6.00.2800.1441 |
X-Newsreader: | Microsoft Outlook Express 6.00.2800.1437 |
X-Priority: | 3 |
X-MSMail-Priority: | Normal |
To: | djgpp AT delorie DOT com |
DJ-Gateway: | from newsgroup comp.os.msdos.djgpp |
Reply-To: | djgpp AT delorie DOT com |
"DJ Delorie" <dj AT delorie DOT com> wrote in message news:200710250306 DOT l9P36dqi002391 AT envy DOT delorie DOT com... > > > > > asm ("cpuid" : "=a" (iRet)); > > > > Huh? I'm sure I missed something... That takes care of eax for cpuid, but > > that ignores ebx, ecx, and edx. cpuid trashes those four registers whether > > he returns them or not, correct? How does GCC correct the other three? > > asm ("cpuid" : "=a" (iRet) : : "ebx", "ecx", "edx"); > > Or something like that. Thanks. Okay, it doesn't, so correct the code... I wasn't sure if the asm directive inserted a pusha; popa combination into the stackframe, say instead of push ebp; pop ebp, or used some other method. That might mess up returns... RP
webmaster | delorie software privacy |
Copyright © 2019 by DJ Delorie | Updated Jul 2019 |