Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!uunet!husc6!endor!singer From: singer@endor.harvard.edu (Andrew Singer) Newsgroups: comp.sys.mac Subject: Re: LightSpeedC and assembler Message-ID: <2768@husc6.UUCP> Date: Thu, 27-Aug-87 12:08:31 EDT Article-I.D.: husc6.2768 Posted: Thu Aug 27 12:08:31 1987 Date-Received: Sat, 29-Aug-87 10:01:03 EDT References: <418@aucs.UUCP> Sender: news@husc6.UUCP Reply-To: singer@endor.UUCP (Andrew Singer) Distribution: na Organization: Aiken Computation Lab Harvard, Cambridge, MA Lines: 28 In article <418@aucs.UUCP> peter@aucs.UUCP (Peter Steele) writes: >In version 1.0 of LSC (I never received an upgrade?), the assembler >interface was very poor, no inline, no assembler provided, nothing >but a routine to convert MDS rel files to be capatible with LSC rel >files. What is provided in the current LSC 2.11 version for using >assembler? Version 2.01 of LSC introduced an inline assembler capability. It's worth noting that this is not your standard "pass this text through to the assembler pass" type of inline assembly (which we couldn't do anyway, since there is no assembler pass). Inline assembly is fully integrated into the compiler via a new C statement of the form: asm { ;Insert your assembly language statements here } Since the inline assembler is integrated, you can directly reference C functions and variables by name and it will assemble into the appropriate A5 or A6 relative reference. If your assembly code is imbedded in a C 'for' statement, you can still use 'break' and 'continue', and you can always use 'return'. #define'd identifiers are honored. And so on. There are lot's more details, of course, but I think you get the general flavor... Jon Hueras THINK Technologies, Inc.