6510 어셈블리를 배우려고하고 있고 데비안을 실행하고 있으므로 xa65는 사용하려는 어셈블러입니다.xa65 어셈블러를 사용하여 Commodore 64를 생성하십시오.
내가 지금까지 그렇게 보이는 코드의 조각을 작성했습니다 :
*=$0801
.byte $0c, $08, $0a, $00, $9e, $20
.byte $34, $30, $39, $36, $00, $00
.byte $00
*=$1000
INC 53280
INC 53281
JMP $1000
이제 첫 .byte 섹션이 suposed있다 "자동 시작"한 번로드 된 프로그램. 이것은 튜토리얼에서 발견 한 것으로, SYS 4096 만 실행하면 CPU가 주소 $ 1000의 코드를 실행하기 시작한다는 것을 이해할 수 있습니다.
나머지 코드는 간단히 외부 및 내부 테두리를 깜박 거리기 시작해야합니다. C64와 영원히 반복합니다.
xa test.s -o test.prg
을하고 나는 그것을 테스트 할 VICE에 TEST.PRG로드하려고 :
것은이 단순히 다음 실행 조립합니다. LOAD "TEST.PRG", 8,1 : 그리고로드 파일이 자동 시작하지 않는 경우에도 내가 RUN을 입력하면 아무 일도 일어나지 않습니다. 그리고 LIST를 입력해도 동일합니다 - 유일한 결과는 유명한 READY입니다. 평소처럼 커서가 아주 행복하게 깜박입니다.자동 시작 물건을 제거하고 * = $ 1000에서 시작하는 코드 만 어셈블했지만 동일한 결과가 나타납니다. SYS 4096으로 시작하려고하면 READY와 아무것도 표시되지 않습니다.
필자는 xa 어셈블러를 제대로 사용하지 않을 것이라고 확신하지만, C64를 사용하기 위해 적절한 PRG 파일을 만드는 방법을 알지 못합니다. 내가 도대체 뭘 잘못하고있는 겁니까?
FWIW 시퀀스 '$ 34, $ 30, $ 39, $ 36'은 단순히 '4096'에 대한 ASCII (PETSCII) 인코딩입니다. 다른 곳에서 기계 코드를로드하려는 경우 변경하면됩니다. '$ 9E'는'SYS'의 기본 토큰입니다. '$ 0a $ 00'은 줄 번호 (10)입니다. '$ 0c, $ 08'는 다음 행의 시작 주소입니다. – JeremyP