wątek dotyczący mads-a, jeśli macie jakieś problemy to piszcie
zacznę od nowego komunikatu "Could not use NAME in this context", który może pojawić się gdy zaczniemy odwoływać się do bloków .MACRO, .STRUCT, .ENUM, został on wprowadzony aby zapobiegać próbom operacji na blokach obecnych tylko w pamięci assemblera
w związku z tym komunikatem zaszła dodatkowa zmiana, aby odczytać długość bloku .ENUM, .STRUCT (długość bloku .MACRO to zawsze 0) trzeba posłużyć się dyrektywą .LEN
.struct test
a,b,c,d .byte
.ends
lda #test ; Could not use TEST in this context
lda #.len test ; 4 !!! OK !!!
dla .ENUM dyrektywa .LEN zwróci wartość 1..4 (1-BYTE, 2-WORD, 3-LONG, 4-DWORD)
dla .STRUCT dyrektywa .LEN zwróci długość w bajtach, czyli ile bajtów zajmą wszystkie zadeklarowane pola w strukturze
.LEN działa dla nazw bloków, nie dla np. kolejnych pól struktury, ofsety do pól struktury sprawdzamy bez .LEN
.struct test
a,b,c,d .word
.ends
lda #test.a
ldx #test.b
ldy #test.c