Alienthe wrote:
Back in the day when I did a lot of 6502 assembly programming I wanted a feature that showed branches and looping and I drew lines by hand on the printouts. Something that draws a blue line for backward branches, amber for forward branches, (perhaps also red for JMP and green for JSR ) was something I wanted then.
I have, countless times, printed out confusing routines on fanfold paper to spread on out the floor and draw the arrows just as you're saying, from the various branch instructions to the labels they branch to. My ideas of structure improved dramatically in Forth, but it was only recently that I realized there's a way to do this and be able to nest structures in assembly with common assemblers. It becomes much more clear what you're doing, reduces bugs, makes the code more maintainable, gets rid of most of the local labels, and in most cases there's absolutely no penalty in program length or execution speed. I wrote about it at
http://wilsonminesco.com/StructureMacros/index.html and included source code. BitWise offers the
As65 assembler which has nestable structures built in also, without the user having to add macros to accomplish the purpose.
Forth tends to be its own IDE, including for portions you might want to write in assembly.