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

AS sometimes can optimize longword addresses to word adresses, despite actually being 24-bit #7

Open Awuwunya opened 3 years ago

Awuwunya commented 3 years ago

This was an issue I found with AMPS development. Sometimes $C00011 for example would be turned to $0011.w instead of $C00011.l in assembly time, if I did not include the .l myself. I had to do that for every single longword variable in AS version in the end just to make absolutely sure I didnt trigger this bug. This is an example

        move.b  d3,dPSG     ; dPSG == $C00011
flamewing commented 3 years ago

From what I have seen, AS tries to use longs when a word would not fit. If you have any code that exhibits this issue, I can try debugging it.

Awuwunya commented 3 years ago

I am not sure how it happened now, trying to recreate it is unsuccessful. I remember it very clearly but this was years ago too, so maybe something about AMPS source code changed so that I can't make it happen. Afterall its very different now vs back then.. I'll try again later when I get more time

flamewing commented 5 months ago

@Awuwunya Out of curiosity, did you ever managed to get this to happen again?