Message-ID: <378FAEFA.6632629C@vetec.com> Date: Fri, 16 Jul 1999 17:15:22 -0500 From: Andy Goth X-Mailer: Mozilla 4.61 [en] (Win95; I) X-Accept-Language: en MIME-Version: 1.0 To: djgpp AT delorie DOT com Subject: Re: Marker References: <8D53104ECD0CD211AF4000A0C9D60AE3014ECA1A AT probe-2 DOT acclaim-euro DOT net> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Reply-To: djgpp AT delorie DOT com > > I read that the "asm" keyword is new for C++. However, I see > > inline assembly in Allegro. Hmm. Is this a deviation > > from the standard? > > Inline assembly is non-standard by definition: it is a way to > temporarily step outside whatever language you are using. > Various ANSI specs do say something about asm as a keyword > (I forget exactly what), but that is really somewhat stupid > given that what you write after the asm is so very platform > specific. Maybe we could have several different versions of the inline assemly--one for each platform we expect to be able to compile on. Something like that... > >> asm volatile("jmp 0f; .string \"Hello, world\"; 0:"); > > > > Is that really jmp 0f? > > It's a local label. See 'info as symbols "symbol names"'. Okay. I was wondering if it meant something like "jump fifteen bytes ahead." ___ _ _ ____ _ _ / _ \| \ | | _ \\ \_/ / .--------[ ICQ#: 35256413 ]--------. | |_| | \| | | | |\ / | 01001000011001010110110001101100 | | _ | \ \ | | | | | | | 01101111001011000010000001110111 | | | | | |\ | |_| | | | | 01101111011100100110110001100100 | |_| |_|_| \_|____/ |_| `--[ mailto:andygoth AT vetec DOT com ]---'