Image Map Image Map
Page 2 of 2 FirstFirst 12
Results 11 to 19 of 19

Thread: Assembler with Z80 mnemonics

  1. #11
    Join Date
    Jun 2015
    Location
    Calgary, AB
    Posts
    18

    Default

    Quote Originally Posted by Chuck(G) View Post
    The only other error was due to the fact that M80 pays attention to only the first 6 characters of a label--so "MYLABEL" and "MYLABEL0" are treated as the same symbol.
    I agree that is what the manual states and that early versions of M80 exhibited that behaviour. My experience with M80 V3.44 is that it pays attention to at least 8 characters in a label. HOWEVER, M80 / L80 only pay attention to 6 characters of external labels. As an example, the following Z180 bit definitions work fine for me and have been used in several of my modules assembled using M80 V3.44 in the Altair Z80 simulator V3.8-1 under SIMH. The correct values appear within the code and also in the symbol table at the end of the listing.

    ITC.ITE0 EQU 01h
    ITC.ITE1 EQU 02h
    ITC.ITE2 EQU 04h

  2. #12

    Default

    Quote Originally Posted by Chuck(G) View Post
    If you want an MS-DOS assembler for Z80, take a look at the one from Avocet.
    Thought I'd give the Avocet Z80 assembler a go, but the links to it I've tried are all dead. Does anyone have a working link?

    Thanks
    CP/M-86 Software Repository www.eolith.co.uk

  3. #13
    Join Date
    Jan 2007
    Location
    Pacific Northwest, USA
    Posts
    25,203
    Blog Entries
    20

    Default

    @WSM, thanks for the information. I grabbed a copy of M80 at random (I probably have dozens of copies of the file)--and it turned out to be 3.36. The six-character limit got me wondering, though. Didn't Microsoft F80 and MBASIC also have a "six-character-unique" limitation? I vaguely remember that, as an implementer of another 8085 BASIC compiler, we were a bit smug in our limit of 32 unique character labels. In some COBOL contexts, very long symbols seemed to be standard practice. I wonder if MS used the same symbol table routines in all of them.

    @SteveH, I probably have a fairly old copy of the Avocet assembler kicking around, but am not aware of its status, vis-a-vis copyright restrictions, so I hesitate to pass it out. I did use it back in the day for my last one or two projects and it was adequate.

    Nowadays, there must be dozens of cross-assemblers for Z80 code.
    Last edited by Chuck(G); December 6th, 2017 at 07:28 AM.

  4. #14
    Join Date
    Feb 2006
    Location
    in the basement
    Posts
    750

    Default

    There is a Z80 Macro Assembler from 2500 A.D. that you can find here:

    http://www.vintagecomputer.net/fjkra...OSECPM/300/U3/


    I hope it works for you...


    ziloo
    Last edited by ziloo; December 6th, 2017 at 07:32 AM.

  5. #15
    Join Date
    Feb 2006
    Location
    in the basement
    Posts
    750

    Default

    There is also a commercial product from Oshonsoft that
    includes an IDE and it has received very good reviews.


    ziloo

  6. #16
    Join Date
    Sep 2016
    Location
    Westminster, Colorado
    Posts
    23

    Default

    Quote Originally Posted by SteveH View Post
    Thought I'd give the Avocet Z80 assembler a go, but the links to it I've tried are all dead. Does anyone have a working link?

    Thanks
    There's a demo (still) available: https://web.archive.org/web/20130414...dx-z80demo.zip

    CW

  7. #17
    Join Date
    Jan 2007
    Location
    Pacific Northwest, USA
    Posts
    25,203
    Blog Entries
    20

    Default

    If you're going after cross-assemblers, remember that Zilog offers a free IDE that covers a range of 8-bit products, including Z80 derivatives, such as the eZ80, Z180,...

    Also,Thomas Scherer's Z80 page lists quite a selection of cross assemblers for Z80.

  8. #18
    Join Date
    Jun 2015
    Location
    Calgary, AB
    Posts
    18

    Default

    @Chuck(G) I haven't used F80 or COBOL-80 any more than to prove they work with the simplest programs. Although I primarily used M80 back in the day and still today, I also used both MBASIC and BASCOM. A quick test with MBASIC4 and MBASIC5 show that they both support at least eight character variable names.

    I believe the real issue may have been with .REL files and L80. The bit-stream oriented record format used three bits to define the length of a symbol (i.e. Entry symbol, COMMON name or Program name). A quick look at a .REL file makes me believe the length field was one-indexed which would only allow for a maximum of seven characters. Besides L80, any change to the .REL format would have forced changes to at least LIB-80, M80, F80, BASCOM and COBOL-80. Likewise it would have created incompatibilities with any pre-existing .REL files and libraries.

    Mini-rant: In the late 1970's I purchased a copy of BASCOM for something like $299 or $399. Besides the compiler and library, the package also included M80, L80, CREF80 and LIB. Later when Microsoft released an updated version, their upgrade policy for existing users was pretty simple ... purchase a new copy for full list price. Given that kind of support (i.e. money grab), my original purchase was the one and only time I purchased a Microsoft CP/M product.

    Bill

  9. #19
    Join Date
    Jan 2007
    Location
    Pacific Northwest, USA
    Posts
    25,203
    Blog Entries
    20

    Default

    Well, to be fair, MS was not a big player in the 8-bit world. It wasn't until the sweetheart deal that came along with IBM that they grew like Topsy. Their stuff could be quirky, but what wasn't in the 1970s? I seem to recall that, at one time, MS's big seller was the Z80 card for the Apple II.

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •