Rocksolid Light

Welcome to novaBBS (click a section below)

mail  files  register  newsreader  groups  login

Message-ID:  

"The following is not for the weak of heart or Fundamentalists." -- Dave Barry


devel / comp.os.cpm / New Z80 assembler, compatible with HiTech C, ZAS, LINK

SubjectAuthor
o New Z80 assembler, compatible with HiTech C, ZAS, LINKladislau szilagyi

1
New Z80 assembler, compatible with HiTech C, ZAS, LINK

<a769aa90-0e77-4bc5-9d97-a3af61381bebn@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=3173&group=comp.os.cpm#3173

  copy link   Newsgroups: comp.os.cpm
X-Received: by 2002:a05:6214:627:b0:435:cddc:3db0 with SMTP id a7-20020a056214062700b00435cddc3db0mr12460552qvx.47.1647113694255;
Sat, 12 Mar 2022 11:34:54 -0800 (PST)
X-Received: by 2002:a9d:7545:0:b0:5b2:66b4:cba1 with SMTP id
b5-20020a9d7545000000b005b266b4cba1mr7733927otl.135.1647113694017; Sat, 12
Mar 2022 11:34:54 -0800 (PST)
Path: i2pn2.org!rocksolid2!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.os.cpm
Date: Sat, 12 Mar 2022 11:34:53 -0800 (PST)
Injection-Info: google-groups.googlegroups.com; posting-host=86.125.83.230; posting-account=Zav8fAoAAACRqOOZYggbw7GhvvIJEzFn
NNTP-Posting-Host: 86.125.83.230
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <a769aa90-0e77-4bc5-9d97-a3af61381bebn@googlegroups.com>
Subject: New Z80 assembler, compatible with HiTech C, ZAS, LINK
From: ladislau...@euroqst.ro (ladislau szilagyi)
Injection-Date: Sat, 12 Mar 2022 19:34:54 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Lines: 52
 by: ladislau szilagyi - Sat, 12 Mar 2022 19:34 UTC

Hi,

I recently published on GitHub ( https://github.com/Laci1953/Z80AS ) a new Z80 assembler, named Z80AS.

Z80AS is actually an adaptation of the ZSM4 macro-assembler v4.6 published by Hector Peraza on GitHub ( https://github.com/hperaza/ZSM4 ).

Thanks to the high quality of the work done by Hector Peraza, the adaptation was easy, actually the most difficult part was writing a new OBJ format object code generator, to obtain compatibility with the HiTech's LINK linker..

Z80AS runs on CP/M. and is compatible with the HiTech C compiler, ZAS assembler and LINK linker.

The main target of the adaptation was to obtain an assembler compatible with ZAS, the assembler that is used by the HiTech C Compiler, but superior as performance.

The biggest ZAS problem is related to its size (38KB), and because of this ZAS is unable to assemble large source files (too small free space remains for the symbols).

Z80AS’s size is only 22KB, that means 16KB more memory is available to store the symbols, compared to ZAS.

For example, ZAS fails to assemble the CP/M BDOS source. In contrast, Z80AS succeeds to assemble even a larger file, the CP/M BDOS and BIOS, concatenated (see the file: tests/bdosbios.as).

Often, using HiTech’s C compiler to compile large C files is not possible because ZAS fails to assemble the intermediate file produced by the compiler (“out of memory” error message).

Z80AS is compatible with HiTech’s ZAS (command line & syntax) and produces object files compatible with HiTech’s LINK linker.

Therefore, it can substitute ZAS, without disturbing the use of HiTech's C compiler.

Compared to HiTech's ZAS assembler, Z80AS has some advantages:

- can compile larger source files
- supports the undocumented Z80 instructions
- has more pseudo operators (conditionals, listing control)
- has better MACRO facilities (REPT,IRP,IRPC,LOCAL)
- has better support for expression evaluation, including extensive use of parentheses and well-defined operator precedence
- selective jump instructions optimization, using optimization On/Off switching

Ladislau

1
server_pubkey.txt

rocksolid light 0.9.8
clearnet tor