flamewing / asl-releases

Improved/bugfixed version of Alfred Arnold's The Macro Assembler AS
http://john.ccac.rwth-aachen.de:8000/as/
GNU General Public License v2.0
20 stars 2 forks source link

z80undoc does not support "standard" notations for undocumented things #2

Closed Awuwunya closed 3 years ago

Awuwunya commented 3 years ago

AS has a bug where these 2 registers are not recognized, despite both iyl and ixl working as intended. As seen in this page, these registers DO exist, but AS will not assemble them. This was a particular problem when it comes to Dual PCM as it uses these registers a lot.

> > >AMPS/code/z80.asm(266): error: symbol undefined
> > > iyh
> > >       ld  a,iyh   ; 08    ; load restore mode

> > >AMPS/code/z80.asm(266): error: symbol undefined
> > > ixh
> > >       ld  a,ixh   ; 08    ; load restore mode

        ld ixl,010h/002h ; 11   ; I work somehow
flamewing commented 3 years ago

This is because AS has a rather weird syntax for those: ixu and iyu. But I guess supporting the more standard notation would be good anyway.

Awuwunya commented 3 years ago

oh really? I didn't know about that at all. I wonder why that was chosen...

flamewing commented 3 years ago

Also the AS-centric slia/sls should also accept sll, and likely others.

flamewing commented 3 years ago

Seems that sll might have been a misreading of sl1, which should also be supported. one ref

flamewing commented 3 years ago

As it turns out, the reason Alfred went for ixu/iyu initially is because of the z380 processor, which have these documented names. He also added ixu/iyu support in build 117. So all that is left for this is accepting sll and sl1 as another alias to sls/slia.