This one's in the implementation of the > and < operators, the documentation states :-
Code:
LO(val) or <val Return lsb of 16-bit expression (like 'val MOD 256')
HI(val) or >val Return msb of 16-bit expression (like 'val DIV 256')
The actual code is :-
Code:
{ "HI", 10, &LineParser::EvalHi },
{ "LO", 10, &LineParser::EvalLo },
{ "<", 10, &LineParser::EvalHi },
{ ">", 10, &LineParser::EvalLo },
Clearly the documentation and the code are oposite to each other for > and < (though correct for LO and HI), the documentation agrees with the behavior of other 6502 assemblers (e.g. TASS, 6502sim), so it would be sensible to change the code to agree.
Also to aid in porting code over from other assemblers would it be possible to have BeebAsm recognise '$' as a prefix for hex constants as well as '&', I have tested this in my local copy and it seems to work well.
Cheers.
Phill.