Hi Rich,
Just thought I'd throw another wishlist item into the pot (for whenever you get that free time) and feel like tweaking BeebASM just a little more...
You've already got the PRINT directive for displaying a string and value of an expression during assembly. Well, how about a corresponding directive (e.g. QUERY), that operates on the 1st pass assembly that accepts an input at assembly time that displays a string and accepts an input, evaluated as a numeric expression?
Code:
QUERY "Debug Mode", debug_mode
If the resulting expression is invalid or contains a forward reference, the question/prompt is repeated.
So, for example, you normally define a symbol within your code such as :
Code:
"debug_mode = FALSE"
and subsequently test within your code if the symbol is TRUE or FALSE and take the appropriate (conditional assembly) action based on the value of the expression.
Thus, rather than have to hard-code a specific value into your code, you "QUERY" at assembly time and set a value based on the input, thus saving the trouble of editing the source code each time you want to change a given expression!
This can also be very useful for other conditional assembly options, such as ROM .vs. RAM, (etc.,etc.,...). Furthermore, within your code, assuming the input is evaluated as an expression and can contain symbols, you can then define within your code:
Code:
YES = -1
NO = 0
thus the answers to a "QUERY" can be more "English like" as opposed to requiring a numeric expression as a valid response (0 or -1, in this instance)...
Just a thought...
(I'm probably thinking too much...

)
Definitely not a show stopper, but more of a "
nice to have"...
As always, thoughts appreciated...
Martin.