这是C64 6502组装的什么方言?



这是6502汇编的什么方言,如何在不将其翻译成其他6502方言的情况下对其进行编译?

*=$0900
jmp Start
SCRN_START=$0400
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 #$83
clc
sbc #$02
jsr PrintAccumlator
rts

我目前正在使用 CC65 作为我的 6502 汇编程序。
我按如下方式编译我的代码:

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

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

jmp Start
SCRN_START=$0400
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 #$83
clc
sbc #$02
jsr PrintAccumlator
rts

这是我的c64-asm.cfg

FEATURES {
STARTADDRESS: default = $0801;
}
SYMBOLS {
__LOADADDR__: type = import;
}
MEMORY {
ZP:       file = "", start = $0002,  size = $00FE,      define = yes;
LOADADDR: file = %O, start = %S - 2, size = $0002;
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的汇编文件。

据我所知,没有简单的方法将它们与其他汇编程序一起使用。但是一些简单的搜索/替换会让你大部分时间到达那里。

最新更新