Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!swrinde!elroy.jpl.nasa.gov!decwrl!pa.dec.com!shlump.nac.dec.com!engage!emass.enet.dec.com!domenikos From: domenikos@emass.enet.dec.com (George Domenikos) Newsgroups: comp.sys.mac.programmer Subject: Question on MPW 3.1 assembly Message-ID: <1991Jan8.062852.4007@engage.enet.dec.com> Date: 8 Jan 91 06:10:02 GMT Sender: news@engage.enet.dec.com (USENET News System) Organization: DTC Lines: 52 -Message-Text-Follows- Hi there, What is the syntax for exporting an MPW 3.1 assembly routine to MPW C modules. I am having something like this ; myassembly.a myassembly_routine PROC EXPORT MOVEM.l A2-A4/D3-D7,-(SP) ......... ;more code here MOVEM.l (SP)+,A2-A4/D3-D7 RTS ENDP My C module looks like /* myCfile.c */ #include #include "myinclude.h" extern void myassembly_routine() main() { } Everything compiles fine and I link everything with myassembly.a.o but the linker still gives me undefine entry myassembly_routine referenced from myfile.c.o I really do not understand why. Question #2 How can I make a global variable defined say in myinclude.h as follows : extern char GLOBAL_TABLE[50]; visible to myassembly routine and change its contents in the assembly routine? Do I have to use IMPORT in the assembly for that. Question #3 Does any body know if a device driver written in Think C can be accessed by an application written in MPW Pascal. Personally I am having problems. It seems that they are using different addressing conventions. For instance an address to some storage data returned by the driver translates to an address containig garbage from MPW pascals perspective. Am I right? Thanks to all of you in advance george