这是 C64 6502 汇编的什么方言?

What dialect of C64 6502 assembly is this?

这是 6502 程序集的什么方言,如何在不将其翻译成不同的 6502 方言的情况下编译它?

*=00
    jmp Start

SCRN_START=00
Print=$ffd2
Basin=$ffcf

incasm "Character_ASCII_Const.asm"

defm    PrintText
    ldy #>/1             ; Load Hi Byte to Y
    lda #</1             ; Load Lo Byte to Acc.
    jsr String              ; Print The text until hit Zero
endm

Start
    lda #
    clc
    sbc #
    jsr PrintAccumlator
    rts

我目前使用 CC65 作为我的 6502 汇编器。
我编译我的代码如下:

$ cl65 -o mycode.prg -u __EXEHDR__ -t c64 -C c64-asm.cfg mycode.asm

但这意味着我必须对上面的代码进行编辑,所以它现在看起来像这样。

jmp Start

SCRN_START=00
Print=$ffd2
Basin=$ffcf

.include "Character_ASCII_Const.asm"

.macro PrintText value
    ldy #>value             ; Load Hi Byte to Y
    lda #<value             ; Load Lo Byte to Acc.
    jsr String              ; Print The text until hit Zero
.endmacro

Start:
    lda #
    clc
    sbc #
    jsr PrintAccumlator
    rts

这是我的 c64-asm.cfg

FEATURES {
    STARTADDRESS: default = 01;
}
SYMBOLS {
    __LOADADDR__: type = import;
}
MEMORY {
    ZP:       file = "", start = [=13=]02,  size = [=13=]FE,      define = yes;
    LOADADDR: file = %O, start = %S - 2, size = [=13=]02;
    MAIN:     file = %O, start = %S,     size = $D000 - %S;
}
SEGMENTS {
    ZEROPAGE: load = ZP,       type = zp,  optional = yes;
    LOADADDR: load = LOADADDR, type = ro;
    EXEHDR:   load = MAIN,     type = ro,  optional = yes;
    CODE:     load = MAIN,     type = rw;
    RODATA:   load = MAIN,     type = ro,  optional = yes;
    DATA:     load = MAIN,     type = rw,  optional = yes;
    BSS:      load = MAIN,     type = bss, optional = yes, define = yes;
}

这是 CBM prg studio 的汇编文件。

据我所知,没有简单的方法可以将它们与其他汇编程序一起使用。但一些简单的 search/replace 将帮助您完成大部分工作。