Передать метку в качестве параметра макроса для ассемблера ca65?

Я использую cc65 / ca65 для игры с основными инструкциями SNES.

В некоторых из найденных мною примеров используется wla, который, по-видимому, позволяет передавать метку в макрос в качестве параметра. Я преобразовал его, надеюсь, использовать ca65:

      Main:
    LoadBlockToVRAM Tiles, $0000, $0020

Tiles:
    .byte $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
    .byte $FF, $00, $DB, $00, $DB, $00, $DB, $00, $FF, $00, $7E, $00, $00, $00, $FF, $00

.macro LoadBlockToVRAM src_addr, dest, size
    lda #$80
    sta $2115
    ldx #dest
    stx $2116
    lda $0 ; Eventually store the correct bank.
    ldx #src_addr
    ldy #size
    jsr LoadVRAM
.endmacro

Как видите, у меня есть ярлык и я хочу передать своему макросу адрес, который он был создан в ПЗУ.

Это возможно? Есть ли обходной путь? Ошибка, которую я получаю в компоновщике:

ld65: Ошибка: ошибка диапазона в модуле main.asm, строка ---

Строка, на которую он указывает, - это мой вызов макроса в Main.

0 ответов

Другие вопросы по тегам