나는 우리가 프로그램이 지침의 종류가 예를 들어 6502 어셈블리에 어드레싱 모드의 종류를 이해하려고 노력하고 표현 : 우리가 알고있는 을 그 '텍스트' ' 레이블이 $ 2000 이하인 경우 바이트가 20이고 낮은 바이트가 00 이고 누적 기가 30 인 경우 첫 번째 질문은 다음과 같습니다. 입력 할 때 어떤 현상이 발생 했습니까? STA $80. 누적기를
일부 C64 소개 아이디어 작업. 아래 코드와 부비동 테이블을 사용하여 사전 생성 된 부비동 테이블을 기반으로 스프라이트를 이동합니다. 서브 루틴 ldx counter
cmx #100
jmp +
ldx #00
stx counter
+ lda sprite_sinus,x
inc counter
나는이 6502 에뮬레이터를 잠시 동안 사용 해왔다. 그리고 나는 작동하도록 간단한 Enhanced BASIC ROM을 얻고 자한다. 정확한 클럭 타이밍이 없지만 에뮬레이터는 AllSuiteA.asm을 통과했습니다. EhBASIC의 경우, 해당 주소로 읽기가 완료되면 $ F001 값을 출력하여 일부 출력을 얻을 수있었습니다. 그러나 입력 프로세스를 에뮬레이
각 명령에 대한 정확한 결과를 설명 할 수 있습니까? LDA, ROL, STA가 결과를 제공합니까? C=1 (carry flag is 1)
LDA A #$08 0008 | 01
ROL A 0009 | 02
STA A $10 000A | 03 // A result is $11
000B | 04
000C | 05
나는이 생
나는 6502 시스템에 대해 다음 코드를 사용하여 몇 가지 문제가 있습니다 :이 C000 LDA #$00
C002 STA $FE
C004 LDA #$20
C006 STA $FF
C008 LDY #$08
C00A LDX #$00
C00C DEY
C00D CPY #$FF
C00F BEQ $C01B
C011 LDA ($FE),Y
C013 CMP
대부분의 에뮬레이터는 특정 명령어가 룩업 테이블에서 차지하는 사이클 수를 저장 한 다음 필요에 따라 조건부 사이클을 추가합니다 (예 : 페이지 경계를 넘는 경우). 어드레싱 모드와 메모리 읽기/쓰기에만 기반하여 명령어가 취할 사이클 수를 절차 적으로 결정할 수있는 방법이 있는지 궁금합니다. 예를 들어, 즉시 또는 상대 주소 지정을 사용하는 모든 명령어는 2
최근에는 6502 NES CPU 용 에뮬레이터를 작성 중입니다. 나는 그들 중 일부는 정말 나를 놀라게 내가 사람들을 위해 설명 무엇이 궁금해서, 많은 많은 것들을 배우고, 특히 두 가지가 특히 내 마음 버그의 존재에 온 6502는 간접 어드레싱 모드에서 버그가있는 것으로 보입니다. NES에서 사용되는 첫 프로세서에 영향을 미칩니다. 비공식적 인 작동 코드
다음은이 Codebase64 Tutorial 다음의 커널 루틴을 사용하여 디스크 파일을 쓰는 방법을 배우려고합니다. 아래의 Acme Crossassembler로 작성한 루틴을 복사했습니다. 이 파일을 열지 못했습니다 및 오류 메시지를 제공합니다 : 나는 C64 프로그래머 참조를 사용하여 다음의 기본 루틴을 준비했습니다 ; Definitions
SETNAM
현재 LogiSim에서 6502의 하위 집합을 개발 중이고 현재 단계에서 구현할 부분과 잘라낼 수있는 부분을 결정하고 있습니다. 내 주요 리소스 중 하나는 Hanson's Block Diagram입니다. 현재 지침이 제어 라인에 얼마나 정확하게 디코딩되었는지 확인하려고합니다. 아래 다이어그램에는 Decode ROM과 Random Control Logic의
DTA (데이터 정의) 문제를 이해하려고합니다. 불행히도 나는 이런 문제를 겪었다 : DTA b(0)
나는 그것이 무엇을 의미하는지 실제로 알 수 없다. 또한 위의 사이트에 대한 예는 나에게 불분명하다. XASM과 dta에 대해 더 자세히 알아볼 수있는 더 좋은 곳이 있습니까? 도움을 주시면 감사하겠습니다.