I would start one, but I cannot seem to log in to the wiki with Firefox or with Opera. See my post in the wiki forum.albailey wrote:I would like to propose a page on the wiki that talks about the pros and cons of each of the different NES assemblers.
Why is NESASM bad?
Moderator: Moderators
I don't think there really is a standard. Most commonly I see a directive like 16BIT attached to parentheses around the value in question. Perhaps it could be written as that or BIT16 or something?loopy wrote:You're right, it doesn't let you force the address size. It always uses small addresses when possible. Is there a standard way of forcing address size? I'd be happy to add it in.beneficii wrote:My only problem with ASM6 is that there doesn't seem to be a way to force 8-bit addresses to be compiled as 16-bit (maybe I should tell loopy about this?)
(edit) sorry for threadjacking, I guess this doesn't have much to do with nesasm.
Still, I really like how your PAD function allows you to cause an area of code/data to end at a certain address without worrying about where it begins. I wonder how your program implements that when you don't even know the starting address of the code in question. Does it automatically know that it doesn't know the starting address and so tries to find the length of the code in question from the starting label to the ending label?
Like you have:
ending = $e000
.pad ending - (finished - starting)
starting:
code
finished:
--------
So it knows that since it doesn't know the value of starting, it goes to calculate the length of the body of code from starting to finished?
EDIT: How about LONG notation?
Or do like C does:beneficii wrote:I don't think there really is a standard. Most commonly I see a directive like 16BIT attached to parentheses around the value in question. Perhaps it could be written as that or BIT16 or something?
Code: Select all
.p02
LDA (char)$00 ; read from zero page
LDA (short)$00 ; read from absolute address
.p816
LDA (char)$00 ; read from direct page
LDA (short)$00 ; read from current data bank
LDA (long)$00 ; read from absolute address