我开始在 Windows 上使用 ca65 汇编器和 ld65 链接器为在 VICE 模拟器上运行的 Commodore C64 计算机创建二进制代码。
我在文件“basic2.s”上写了这个小的“hello world”源代码
;--------------------------------------
; objetivo: assembly a header BASIC program
; to run binary code
;
; assembler: ca65
; http://cc65.github.io/doc
;
; v101-c101 2018-08-09 13:50:53 A.Alonso
;-----------------------------------------------------
PRINTTOKEN = $99
SYSTOKEN = $9e
chrout = $ffd2
.org $0801
;
Linea10: .word Linea20
.word 10
.byte PRINTTOKEN
.byte 39," NOMBRE PROGRAMA ",39
.byte 0
;--
Linea20: .word LineaEnd
.word 20
.byte SYSTOKEN
.byte " 2089"
.byte 0
;--
LineaEnd: .word 0 ; fin de lineas
.word 0 ; fin de programa
;--
;
Main: ldx #0
ciclo1: lda saludo,x
jsr chrout
inx
cpx #<(saludofin-saludo)
bcc ciclo1
salida: rts
saludo: .byte "--- HOLA MUNDO! -----"
saludofin: .byte 0
我可以使用以下命令进行组装:
ca65 -t c64 basic2.s
并生成“basic2.o”
我阅读了链接器 ld65 的文档,这令人困惑
我试过不成功:
1-带命令
ld65 basic2.o
错误是:
ld65: Error: Memory configuration missing
2-带命令
ld65 -C c64-asm.cfg basic2.o
错误是:
ld65: Warning: c64-asm.cfg(21): Segment `LOADADDR' does not exist
Unresolved external `__LOADADDR__' referenced in:
c64-asm.cfg(5)
ld65: Error: 1 unresolved external(s) found - cannot create output file
谢谢