BigDumbDinosaur wrote:
It makes sense to me, as the word “exclusive” starts with the letter E, not X.
well Overflow starts with an "O" but the flag is still called "V". (probably because an O looks too much like a 0)
using "X" makes sense to me because "Ex" is pronounced the same as "X" so it's the first letter that you actually pronounce in "exclusive", as you say Ex-OR instead of just E-OR.
BigDumbDinosaur wrote:
That's actually common behavior in assemblers. The first field is taken to be a label or symbol if it starts at the left margin. I've known of that behavior since I started writing 6502 code (in the latter 1970s), so it's no big deal. Plus a 6800 cross-asembler I used was exactly the same.
Interesting, i thought only really old assemblers did that because it made programming the assembler easier as you just have to check if something is an instruction if it has atleast 1 white space character infront of it.
BigDumbDinosaur wrote:
Unless you place labels on a line all by themselves, some lines will have a label as the first field and others will have a mnemonic or macro as a first field. That, in my opinion, makes for difficult reading. I religiously maintain alignment of mnemonics and comments so I can quickly read the listing while debugging.
while having all the Labels, instructions, and operands on the same column does look really amazing and clean, i couldn't read it for the life of me because of how much i rely on indenting to fiqure out where things like loops start and end.
in my programming style i exclusively put labels on otherwise empty lines (except for comments)
and normally i indent after a label, and indent back at some relavant control flow instruction (like a branch, or return)
Code:
FUNCTION:
LDX #0
LOOP:
STA $1234,X
INX
BNE LOOP
RTS
that's also how i end up with instructions on the very start of the line, i pretty much treat the label like an opening bracket in C, while the control flow instruction is the closing bracket.
BigDumbDinosaur wrote:
That's because such notation has never been used in 6502 assembly language. 6502 assembly language, which has MC6800 assembly language as its ancestor, uses $ to represent a hex radix, and % to represent binary—the same notation is also used in MC68000 assembly language.
i just like having options... for example programs like CC65 has me constantly switch between C and Assembly, which makes it annoying that there are 2 different incompatible prefixes for the same thing.
BigDumbDinosaur wrote:
From my perspective, use of $ and % makes more sense, especially since only one character is needed to denote a hex value, instead of two.
well you need to hold SHIFT, so you're technically still pressing 2 keys.
BigDumbDinosaur wrote:
Also, speaking as someone who has scratch-written a full-featured 65C816 M/L monitor, parsing with a leading non-alphanumeric radix is much easier than parsing two leading alphanumeric characters (0x) to determine which number base to use.
[/quote]
yea i can see that being easier, so far i've only written some small functions that convert a value into a string (dec and hex), but not the other way around.
but when i get around to it i'll probably try to support both. (screw the "h" and "b" suffix though, i agree that those are just evil)
ultimately it doesn't really matter, i'll get used to these things someday anyway like everyone else on here. so please don't take any of this too seriously.
I don't really want to start a "TABs vs Spaces"-like war here.
to get a bit back on topic, don't the WDC Tools also include a Simulator? how does that one compare to hobbyist made ones?