Xref: utzoo sci.electronics:3694 comp.sources.wanted:4876 Path: utzoo!attcan!uunet!wyse!vsi1!ames!mailrus!tut.cis.ohio-state.edu!rutgers!mit-eddie!uw-beaver!ubc-cs!coho!datacom!ronj From: ronj@datacom.ee.ubc.ca (Ron Jeffery) Newsgroups: sci.electronics,comp.sources.wanted Subject: Re: 8051 cross-assemblers Summary: Summary of available shareware 8051 cross assemblers Keywords: 8051 8031 cross-assembler microcontrollers Message-ID: <262@coho.UUCP> Date: 24 Aug 88 01:41:11 GMT References: <253@coho.UUCP> Sender: news@coho.UUCP Distribution: na Lines: 36 A while ago I posted a request for a public domain cross-assembler for the intel 8051 microcontroller. I would like to thank all the people who replied. Also, enough people asked for me to relay my findings that I feel it would be worthwhile posting what I've found out. I have obtained two shareware assemblers, PsuedoSam 51 by PsuedoCode and TASM by Thomas Anderson at Speech Technology Incorporated. Both are available from Steve Ciarcia's Circuit Cellar Bulletin Board ((203) 871-1988). TASM is in a file called TASM.ARC in the /IBM/UTILITIES directory and PusedoSam 51 is available as 8051.ARC in the /IBM/UTILITIES directory and as PS51A123.ARC in the /PROJECTS directory. PsuedoSam 51 (and PsuedoSam assemblers for all sorts of other processors) are reportedly available from SIMTEL20 but it has been down. The major problem with these assemblers is that they are not compatible with the intel assembler or with each other. However, they are both quite usable. PsuedoSam uses a somewhat unusual syntax (.equ ONE, 1 instead of ONE equ 1). TASM is a table driven assembler. The .ARC file includes tables for the 8048, 8051 and 6502. The format of these files is documented for people wishing to create their own tables. TASM also includes a C like preprocessor with #define, #if, #include, etc. I think this is a good idea, but some problems came to light when I tried to use this feature. In particular the implementation of #define works on characters rather than tokens, therefore the following code does not work as expected: #define LATE R3 #define LATEPORT 0x50 MOV R0, #LATEPORT Both of these assemblers produce listings and intel hex format object files. After briefly trying both products I chose to use PsuedoSam 51. -- Ron Jeffery | Internet: ronj@datacom.ee.ubc.ca Communications Research Lab | UUCP: ubc-cs!ubc-datacom!ronj