🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.sys.atari.st
Article #31117

Laser C question

#31117
From: Steven Grimm
Date: Mon, 07 Mar 1988 23:21
27 lines
1386 bytes
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.
Technical Details
Message-ID: <2234@saturn.ucsc.edu>
Path: arc1-ca.pugleaf.net!utzoo!utgpu!water!watmath!clyde!att-cb!att-ih!pacbell!ptsfa!ames!pasteur!agate!saturn!ssyx.ucsc.edu!koreth

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!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