Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!utgpu!water!watnot!watmath!clyde!rutgers!mit-eddie!genrad!decvax!ucbvax!CORY.BERKELEY.EDU!dillon From: dillon@CORY.BERKELEY.EDU.UUCP Newsgroups: comp.sys.amiga Subject: Re: Portable "C" Code Message-ID: <8704071939.AA09157@cory.Berkeley.EDU> Date: Tue, 7-Apr-87 14:39:47 EST Article-I.D.: cory.8704071939.AA09157 Posted: Tue Apr 7 14:39:47 1987 Date-Received: Fri, 10-Apr-87 03:42:53 EST Sender: daemon@ucbvax.BERKELEY.EDU Lines: 22 >> From Robert Mitchell: >> 1) Manx defaults to 16 bit integers and Lattice uses 32 bit. >> 2) Assembly language subroutines in Manx expect 16 bit >> integer parameters, while Lattice promotes to 32 bit. > >This is not true. What you call assembly language subroutines are actually >the Amiga library routines. These have ALWAY expected 32 bits for their >parameters. So, no matter which compiler and model you use, you must pass >32-bit paramters to them. There is never a problem when passing pointers, >since they are always 32-bits. The problem comes when passing ints. With >-- Marco Papa You misinterpreted Robert's comment, Marco. He was *NOT* talking about the assembly interface to the Amiga library, he was talking about assembly support routines that many people write for their programs. Those people who are used to Manx w/16bit ints write their assembly routines expecting short's for int's on the stack whereas somebody writing assembly for Lattice or Manx-32bit would always expect long's for ints on the stack. -Matt