Related articles |
---|
intermetrics z80 inefficiencies rdeaton@ab.com (EATON, ROBERT) (1990-07-17) |
Re: intermetrics z80 inefficiencies dwg@bpdsun1.UUCP (1990-07-18) |
Re: intermetrics z80 inefficiencies mikeh@inmet.inmet.com (1990-07-26) |
Newsgroups: | comp.compilers |
From: | dwg@bpdsun1.UUCP (David W. Glessner) |
Summary: | HI-TECH Z80 compiler |
Keywords: | code, z80 |
Organization: | Harris Broadcast Div., Quincy, IL |
References: | <1990Jul17.231931.513@esegue.segue.boston.ma.us> |
Date: | Wed, 18 Jul 90 22:46:55 GMT |
In article <1990Jul17.231931.513@esegue.segue.boston.ma.us> "EATON, ROBERT" <rdeaton@ab.com> writes:
> I have been running shy on code space for a z80-based embedded system.
>This has forced me to begin converting some of the 'C' code, compiled with
>the Intermetrics z80 compiler, to assembly code to save space.
Have you looked at a different compiler?
Last summer, I asked about Z80 cross compilers for a Sun 3 on
comp.lang.c. One person was "VERY! unhappy" with an older version of
Intermetrics C for the z80 because:
1) Limited implementation of C
2) High rate of compiler errors
3) Relatively poor ROM support
4) Relatively high price
Another claimed that support from Intermetrics was poor.
Others suggested Microtec, SDSI, and possibly trying to port gcc.
We purchased a source license to HI-TECH Z80 C and ported it to the Sun
3/60. We haven't tested the HI-TECH package extensively, but we're
quite pleased so far.
Following are the results after coverting some of our Z80 C code from
Eco-Soft C (CP/M based) to HI-TECH (Sun based).
HI-TECH Eco-Soft
ROM space 36718 44831
RAM space 8272 8428
Note that ROM space includes about 8000 lines of assembly files.
Here is the assembler output for a test program similar to your example.
global _func
global _ptr
global _noptr
psect text
;test.c: 1: struct { char a[25]; char friend; } noptr, *ptr;
;test.c: 2: void func(void)
;test.c: 3: {
_func:
push iy
;test.c: 4: if (ptr->friend == 1) ;
ld iy,(_ptr)
ld a,(iy+25)
cp 1
jp nz,l3
;test.c: 5: if (noptr.friend == 1) ;
l3:
ld a,(_noptr+25)
cp 1
jp nz,l2
;test.c: 6: }
l2:
pop iy
ret
psect bss
_noptr:
defs 26
_ptr:
defs 2
psect text
end
HI-TECH's address is:
HI-TECH Software
P.O. Box 103, Alderley, QLD, 4051,
AUSTRALIA
Tel: +61 7 300 5011
Fax: +61 7 300 5246
E-mail: hitech@hitech.ht.oz.au
--
David WB9VGB quintro!bpdsun1!dwg@lll-winken.llnl.gov
uunet!tiamat!quintro!bpdsun1!dwg
--
Return to the
comp.compilers page.
Search the
comp.compilers archives again.