| www.delorie.com/archives/browse.cgi | search |
| From: | "Campbell, Rolf [SKY:1U32:EXCH]" <cp1v45 AT americasm01 DOT nt DOT com> |
| Newsgroups: | comp.os.msdos.djgpp |
| Subject: | Re: Faster-than-shift travel |
| Date: | Thu, 24 Jun 1999 14:30:36 -0400 |
| Organization: | Nortel Networks |
| Lines: | 24 |
| Message-ID: | <3772794B.3D3F0738@americasm01.nt.com> |
| References: | <37726F12 DOT 9D1D3EB4 AT ameritech DOT net> |
| NNTP-Posting-Host: | bmerhc00.ca.nortel.com |
| Mime-Version: | 1.0 |
| X-Mailer: | Mozilla 4.6 [en] (X11; I; HP-UX B.10.20 9000/712) |
| X-Accept-Language: | en |
| To: | djgpp AT delorie DOT com |
| DJ-Gateway: | from newsgroup comp.os.msdos.djgpp |
| Reply-To: | djgpp AT delorie DOT com |
S Prasad wrote:
> Hello. Just have a newbie-at-asm question :-)
> int i = 256;
> I'd like to copy the high byte into the low byte, and save the low byte
> as the var 'i'. Sorta like this:
>
> asm(" movb %%ah, %%al
> : "=al" (i)
> : "a" (i)
> : "%eax");
>
> Can I, using the output registers, just save AL to the variable i, so
> that I just get the low byte?
I'm not sure of the syntax, but that can be done. But, unless you are
optimizing for 486 (or 386), there is no point, a shift takes 1 cycle on
Classic Pentium/K6 (and above).
--
-Rolf Campbell (39)3-6318
| webmaster | delorie software privacy |
| Copyright © 2019 by DJ Delorie | Updated Jul 2019 |