Cross Z80

ZXNet echo conference «zx.spectrum»

From Vitalic Svetashov To All 14 May 1997


Hello All.

Does the All-Having Ola have a subject lying around?
And then everyone suggests using GENS/MONS under a simulator,
and what you need is a writing cross Z80 - with assembler, disz
and a debugger, preferably symbolic.
Whoever is rich, please, plz !

Vitalic


From Michael Markowsky To All 14 May 1997


Hello, Vitalic!

Wed 01:14 14 May 1997 Vitalic Svetashov writes to All:

VS> Doesn’t the All-Having Ola have a subject lying around?
VS> Otherwise everyone suggests using GENS/MONS under a simulator,
VS> but what you need is the piss cross Z80 - c assembler, diz
VS> and a debugger, preferably symbolic.

-
- Z80/8080 Cross-Assemblers
-
XZ80.ZIP 135565 09.14.95 [007] Z80 Cross-Assembler (Cross-M80,L80,LIB80)
by Leo Sandy
XLINK.ZIP 27284 05/28/95 [006] Cross-Linker for .REL-files (like L80)
XASMZ80.ZIP 19527 08/02/95 [005] Avocet Z80 Cross-Assembler
AVMACZ80.ZIP 131344 09/14/95 [004] Avocet Z80 Cross-MacroAssembler
A80Z.ZIP 48394 09/14/95 [006] PseudoSam Z80 Cross-Assembler 1.3
A85.ZIP 53666 08/02/95 [005] PseudoSam 8085 Cross-Assembler
MA80LINK.ARJ 51000 10/01/96 [001] Z80 Cross-assembler and linker from
Andrew MOA 2:5030/25.1
ZASM1.ZIP 744604 03/13/96 [002] Z8/Z80/Z180/Z8000 Cross-Assemblers
Z80.ZIP 43570 01/09/95 [010] Z80 Cross-Assembler, two-pass,
Unix syntax AS
AZ80.ZIP 41717 08/02/95 [005] Micro Series Z80 Cross-Assembler 1.15
ASM_Z80.ZIP 93235 01/18/97 [000] Assembler 128 for Z80 (cross-version
of Spectrum GENS4)by 2:5030/461.12
X8085.ZIP 172432 02.08.95 [003] 8085 Cross-Assembler/Linker by
2500_A.D.Software
XASM85.ZIP 50939 02.08.95 [001] Avocet 8085 Cross-Assembler
A80.ZIP 19035 13.09.95 [008] 8080/8085/Z80 Cross-Assembler by /237
I2Z.ZIP 13932 28.05.95 [007] Конвеpтеp мнемоник i8080 в Z80 (с
исходником)
-
- Z80/8080 DisAssemblers
-
ZDIS.ARJ 88042 30.07.96 [001] Z80 Interactive DisAssembler
D80.ZIP 12366 11.09.95 [003] 8080/8085/Z80 DisAssembler by /237
Z80DISAS.ARJ 16116 18.01.94 [005] Z80 DisAssembler with Pascal sources
DIS8080.ZIP 19094 14.09.95 [001] 8080 DisAssembler
DASM85.ZIP 11776 19.05.94 [001] 8085 DisAssembler
DASMZ80.ZIP 40929 19.05.94 [001] Z80 HEX-file DisAssembler
HEX2ASM.ZIP 9814 13.09.95 [001] 8080 HEX-file DisAssembler
DASM8080.ZIP 15553 14.09.95 [000] 8080 HEX-file DisAssembler
DIS_Z80.ZIP 20574 30.07.96 [000] Исходники (на С) Z80-дизассемблера
-
- Z80/8080 Emulators/Debuggers
-
AVSIMZ80.ZIP 81896 14.09.95 [004] Avocet Z80+PIO+CTC Emulator/Debugger 1.32
AVSIM85.ARJ 197773 10.02.91 [002] Avocet 8085 Emulator/Assembler/Linker
S80.ZIP 58357 01.08.96 [004] Z80 Emulator/Debugger, 2500 A.D.Software
Z80M.ZIP 61551 27.01.95 [006] Z80Emulator/Debugger
IDEBUG.ZIP 95999 08/01/96 [004] 8080-Emulator (TurboVision interface)
ZD.ZIP 84710 08/01/95 [003] Z80 Emulator/Debugger/DisAssembler
ISIS.ZIP 77459 02.08.95 [003] 8080/8085 simulator

I myself use the XZ80 package for compilation (cross-analogs of CP/M's M80, L80 and
LIB80). And the most enjoyable way to dizz is with Interactive Disassembler (IDA) by
2:5020/209.


Best wishes! Michael KLUG

From Andrew MOA To All 16 May 1997


On the day of May 14, 97, Michael Markowsky had the good fortune to write to Vitalic Svetashov:

MM> I myself use the XZ80 package for compilation (cross-analogues of the CP/M's M80, L80
MM> and LIB80).

Unfortunately, in addition to the "glitches" of Microsoft, Leo Sandy added his own. A simple
example:
file 1.MAC

include 2
end

file 2.MAC

db 0

Compiling file 1 leads to freezing.
But Microsoft tried,

=== Cut ===
; m80 does not correctly process macro definitions inside
; macro definitions if the name of the block being defined is compound and includes
; numbers as parts, for example, xx&00& macro
genmacro macro ?name
tm&?name& macro ?d
dw ?d
tm&?name& macro dd
db low dd
endm
endm
endm

;for some commands the types are underchecked, so it is possible
pop sp

;for commands IM, RST, BIT, SET, RES is not passed correctly to the object code
;absolute argument, more precisely in assembler it can be declared external
;although in fact the argument will be accepted equal to 0
external bt
bit bt, a
im bt
rst bt
;atavism I8080 - instead of (hl) you can write m
ld a, m

; in I8080 mode instructions like
mvi a, mov a, c

are not translated; in m80 the type is lostwhen multiplying one of the operands,
;the result is obtained by the type of the _second_ operand (during multiplication, they forgot
;to save the operand type register).
ext g1
dw 3 * g1, g1 * 3 ;will give different results

;In general, there is a lot of confusion with types. In most operations
;the type of the result is obtained by adding the types of the operands. In the assembler
;it is encoded that CSEG == 1, DSEG == 2, the result of the operation is 3,
;as it is written in the instructions - a mixed type, so it is written in the
;objectnik. But common symbols also have type 3, and are also written
;in the object book.

;Parameters are strangely substituted in MACRO
db '&?a&?b&?c&?d' ;leaves extra &

;For irp, for some reason, spaces between the variable and the list of parameters are prohibited
;And besides this, empty parameters are not allowed
; irp ?t, <1,<>>
;^ ^

;Nested parentheses are not allowed in ifdif (although this may be correct)
=== Cut ===

Well, and a few other little things.

Andrew


From Andrew MOA To All 18 May 1997


On the day of May 16, 97, Michael Markowsky had the good fortune to write to Andrew MOA:

AM>> file 2.MAC
AM>> db 0
AM>> Compiling file 1 leads to freezing.
MM> However, if you take a larger file as 2.MAC, then no freezing
MM> is observed. At least my TR-DOS source code for 8272 contains
MM> INCLUDE and is compiled normally by XM80. However, there are no macros in it.

Well, somehow this example was enough for me to “distrust”. It is possible, however, that OS/2, for example, is somehow “to blame” here, I haven’t “dug” into the reason.
By the way, this example is more interesting (this, however, is no longer Leo :):

=== Cut ===
Fword macro ?addr, ?word
dw ?addr
?wct defl 0
irpc ??? _without_swearing_
just skipped the whole block.

Andrew