Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!utgpu!water!watnot!watmath!clyde!rutgers!lll-lcc!ames!ucbcad!ucbvax!CORY.BERKELEY.EDU!dillon From: dillon@CORY.BERKELEY.EDU.UUCP Newsgroups: comp.sys.amiga Subject: Re: Turbo Pascal Rumor Message-ID: <8704031026.AA17840@cory.Berkeley.EDU> Date: Fri, 3-Apr-87 05:26:19 EST Article-I.D.: cory.8704031026.AA17840 Posted: Fri Apr 3 05:26:19 1987 Date-Received: Sun, 5-Apr-87 01:31:30 EST Sender: daemon@ucbvax.BERKELEY.EDU Lines: 21 >I am under the (possibly wrong!) impression that the Amiga's intuition, >exec, and dos functions have been written with C interfaces. So if >Borland wants to enter the Amiga market, why not with a C compiler? >Is he afraid there are too many C compilers already out there? >I am under the impression that the various versions of Manx and Lattice >that are out are a) expensive and b) bug ridden. There must be >room in the market for an inexpensive (ala other Borland products) >C compiler that works correctly. All of the Amiga's libraries were designed for easy access by assembly language. That is, all parameters are passed in registers rather than on the stack. The libraries are also designed, however, to make C interfacing easy in that a simple MOVEM.L from the stack to a set of registers usually suffices to take C pushed arguments on the stacks and place them in registers before making the library call. This is handled by the link time libraries. E.G. you make a call to, say, FindTask(name), and the function FindTask() moves the pushed pointer into the proper register, loads A6 with the library vector base, and makes an A6 relative call to the proper library vector table entry. -Matt