d63a359a49
unsigned comparisons is surprisingly not that useful due to marshalling overhead; it's only four bytes to do inline (plus jc), or six for a constant. Also add some useful top optimisations. Star Trek goes from 39890 to 39450 bytes.
25 lines
465 B
Plaintext
25 lines
465 B
Plaintext
|
|
/* 8080 desciptor table for ACK target optimizer */
|
|
|
|
MAXOP 2;
|
|
|
|
%%;
|
|
|
|
X, Y, Z { TRUE };
|
|
%%;
|
|
|
|
mvi X, Y : mov X, Z -> mov X, Z ;
|
|
|
|
xchg : inx h : xchg -> inx d ;
|
|
xchg : inx d : xchg -> inx h ;
|
|
|
|
cpi 0 -> ora a ;
|
|
call X : ret -> jmp X ;
|
|
|
|
push h : lxi h, X : pop d -> lxi d, X : xchg ;
|
|
push d : lxi d, X : pop h -> lxi h, X : xchg ;
|
|
|
|
push h : lhld h, X : pop d -> xchg : lhld X ;
|
|
|
|
%%;
|