Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!seismo!rutgers!ames!ucbcad!ucbvax!ecs.umass.EDU!KIMMEL From: KIMMEL@ecs.umass.EDU (Matt Kimmel) Newsgroups: comp.sys.atari.st Subject: Megamax inline assembly woes Message-ID: <8705030519.AA18707@ucbvax.Berkeley.EDU> Date: Sat, 2-May-87 20:20:00 EDT Article-I.D.: ucbvax.8705030519.AA18707 Posted: Sat May 2 20:20:00 1987 Date-Received: Sun, 3-May-87 09:24:42 EDT Sender: daemon@ucbvax.BERKELEY.EDU Distribution: world Organization: The ARPA Internet Lines: 20 I am writing a program in Megamax C, and I have a couple of functions that are written in machine language. Since the Megamax linker won't link normal .o files (and I don't have AS68, anyway), I am using the Megamax in-line assembler. However, it chokes on the following perfectly legal instructions which I use to save and restore the registers in the functions that are all machine language: movem.l d0-d7/a0-a6,-(sp) movem.l (sp)+,d0-d7/a0-a6 I got some weird error message like "Illegal constant expression" or some such. Anyway, this assembles fine under AssemPro. I've tried changing the d0-d7/a0-a6 to d0-a6, and the sp to a7, but to no avail. Could some- one tell me either how to do this under the Megamax assembler, or an alternate (fast) method of saving the registers? Thanks in advance. -Matt Kimmel KIMMEL@UMAECS <---BITNet KIMMEL@ECS.UMASS.EDU <---CSNet KIMMEL%ECS.UMASS.EDU@RELAY.CS.NET <---Internet