这是 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 将帮助您完成大部分工作。
这是 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 将帮助您完成大部分工作。