Hello, im posting needing help with how to handle labels with ASM6, and the disasm6 disasembler program by frantik. I'm just starting out with assemblers and such for my first time and so far i've not had too much trouble understand and figuring things out, but i have a big problem with how to work with labels.
I've been only hex editing for years and just started trying out assemblers, the disasm6 has the option to specific a user defined variables list and i was doing that with 1 PRG bank on my romhack. The format is "labelname = $xxxx" nes address. I thought this was how i was supposed to do labels, so when i run the dissasembler, it replaces the auto generated __xxxx with my label names which is good.
** say i move a little tiny block of code forwards or backwards, the JSR's, JMP's and LDA's never change to where they should point to. I figured out that i should "not" include these label address defintions when i go to run "asm6". So then now the JSR's and stuff will update correctly.
But the next time i run the disasm6 dissaembler if i've recently moved something forwards or backward, then it's all messed up. I'll show a screenshot of what i mean:
http://s24.postimg.org/e44hzs9f9/zxcccx.png
This area was at $9E40 originally for example ...i moved this section backwards just 1 byte, ...so the next time i ran the disasm6 it obviously doesnt know that it's now at 9E3F, so it totally messes up the labels.
I still do my hex editing alot, and my edits dont show up on the ASM file until the next time i run the disasembler, disasm6 "first".
I cant for the life of me understand how to like ... preserve labels the correct way or something. im not sure how to explain exactly i tried my best.
Is there some other type of format or specific procedure... script file or whatever, how i setup this stuff without having to always constantly retype the address number on the labels ??
If i "dont" use the labels file with disasm, then i lose them all as they just become the generic "__[number]" on everything.
I've been only hex editing for years and just started trying out assemblers, the disasm6 has the option to specific a user defined variables list and i was doing that with 1 PRG bank on my romhack. The format is "labelname = $xxxx" nes address. I thought this was how i was supposed to do labels, so when i run the dissasembler, it replaces the auto generated __xxxx with my label names which is good.
** say i move a little tiny block of code forwards or backwards, the JSR's, JMP's and LDA's never change to where they should point to. I figured out that i should "not" include these label address defintions when i go to run "asm6". So then now the JSR's and stuff will update correctly.
But the next time i run the disasm6 dissaembler if i've recently moved something forwards or backward, then it's all messed up. I'll show a screenshot of what i mean:
http://s24.postimg.org/e44hzs9f9/zxcccx.png
This area was at $9E40 originally for example ...i moved this section backwards just 1 byte, ...so the next time i ran the disasm6 it obviously doesnt know that it's now at 9E3F, so it totally messes up the labels.
I still do my hex editing alot, and my edits dont show up on the ASM file until the next time i run the disasembler, disasm6 "first".
I cant for the life of me understand how to like ... preserve labels the correct way or something. im not sure how to explain exactly i tried my best.
Is there some other type of format or specific procedure... script file or whatever, how i setup this stuff without having to always constantly retype the address number on the labels ??
If i "dont" use the labels file with disasm, then i lose them all as they just become the generic "__[number]" on everything.