Path: utzoo!utgpu!water!watmath!clyde!att-cb!att-ih!pacbell!ptsfa!ames!pasteur!agate!saturn!ssyx.ucsc.edu!koreth From: koreth@ssyx.ucsc.edu (Steven Grimm) Newsgroups: comp.sys.atari.st Subject: Laser C question Message-ID: <2234@saturn.ucsc.edu> Date: 7 Mar 88 23:21:15 GMT Sender: usenet@saturn.ucsc.edu Reply-To: koreth@ssyx.ucsc.edu (Steven Grimm) Organization: The American Redundancy Society of America Lines: 27 I'm porting a program (BB/ST, my bulletin board system)) to Laser C (from Megamax 1.1). All the C stuff compiles without a hitch, but the inline assembly is a bit different. In particular, I need to know how to reference a label defined in an inline assemble segment, from the rest of the program. This code worked on the old compiler: extern foo(); asm { foo: clr.l A7 rts } You could call foo() from another part of the program. That doesn't seem to work in Laser C. My other question is probably closely related; I want to install some trap handlers. The code lea trap1hand(PC), A0 move.l A0, 0x90 ; or whatever address worked in Megamax C; now it says "trap1hand undefined", even if it's defined in the same asm{} block. I've tried taking away the "(PC)", changing it to move.l #trap1hand, 0x90 (which would be the ideal way to do it), and a couple other things, to no avail. Any help would be appreciated.