W programach relokowalnych dla SDX potrzeba czasem znać indeks bloku (w pliku), w którym znajduje się obiekt (procedura, dane).
Czy w związku z tym można by mieć możliwość np. nazywania bloków za pomocą etykiety:
kod1: blk reloc main
...
kod2: blk reloc extended
...
dzięki temu mógłbym sobie adresować tablicę EXTENDED+3 w taki sposób:
lda EXTENDED+3+kod1
jsr JEXT_ON
...
jsr JEXT_OFF
lda EXTENDED+3+kod2
jsr JEXT_ON
...
jsr JEXT_OFF
co gwarantowało by mi dostęp do odpowiedniego bloku pamięci.
Problematyczne jest też wykorzystanie blk empty, ponieważ rzadko zachodzi potrzeba rezerwacji pojedynczego bufora, jako osobnego bloku pamięci (tym bardziej, że loader ogranicza ilość bloków relokowalnych), a bardzo często pojedynczy blok empty dzielony jest na kilka różnych buforów lub zmiennych. Czy można by dodać taką konstrukcję:
blk empty main/extended/$xx
dane1: .ds 20
dane2: .ds 30
adres: .ds 2
która generowałaby odpowiedni blok empty (pojedynczy). W połączeniu z nazywaniem bloków blk pozwalałoby to na ładny dostęp do pamięci w programach dla SDX.
Edit: Oczywiście nie upieram się przy etykiecie - może to być nazwa bloku deklarowana np:
blk empty main/extended/$xx nazwa
blk reloc main/extended/$xx nazwa
czy jak by tam było wygodnie.
hex, code and ror'n'rol
niewiedza buduje, wiedza rujnuje