Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: Notesfiles $Revision: 1.7.0.10 $; site uiucdcsb Path: utzoo!watmath!clyde!burl!ulysses!mhuxr!mhuxt!houxm!ihnp4!inuxc!pur-ee!uiucdcsb!kenny From: kenny@uiucdcsb.CS.UIUC.EDU Newsgroups: net.lang.c Subject: Re: the 'entry' reserved word Message-ID: <139200017@uiucdcsb> Date: Tue, 19-Nov-85 10:57:00 EST Article-I.D.: uiucdcsb.139200017 Posted: Tue Nov 19 10:57:00 1985 Date-Received: Thu, 21-Nov-85 03:47:54 EST References: <1643@uwmacc.UUCP> Lines: 41 Nf-ID: #R:uwmacc.UUCP:-164300:uiucdcsb:139200017:000:1399 Nf-From: uiucdcsb.CS.UIUC.EDU!kenny Nov 19 09:57:00 1985 /* Written 2:10 am Nov 14, 1985 by ted@cdp.UUCP in uiucdcsb:net.lang.c */ My best guess is that "entry" was a unique symbol which the loader used to find the entry subroutine which would call main (or possibly _main as it does in most C implementations today)? Dennis Ritchie : what say? Ted Goldstein /* End of text from uiucdcsb:net.lang.c */ On the AT&T implementation of C on G(E)COS (which predates Un*x), the entry subroutine was called `.SETU.`. The periods in the name make it syntactically illegal for C, of course, but there were ways around that. The 'fortran' keyword was used to specify that the compiler should generate calls to particular procedures compatible with the calling sequence used by FORTRAN A (or was it FORTRAN Y? Was years ago, and I forget). Something like extern fortran real sine(), cosine(); was used to drag in the trig functions, for instance. 'asm' is still a keyword to many of the compilers, and is used to insert assembly code into the program, e.g.: /* Now set up fp and sp to use the ppprcs stack space */ asm (" movl a3,fp"); asm (" movl a3,sp"); It was invented to allow even the really cruddy low-level stuff to be written at least partially in C. Opinions expressed herein are those of the daemon possessing my terminal. Kevin Kenny kenny@Uiuc.ARPA kenny@Uiuc.CSNET {ihnp4,pur-ee,convex}!uiucdcs!kenny (UUCP) Snail: Forget it.