OpenCores
URL https://opencores.org/ocsvn/ag_6502/ag_6502/trunk

Subversion Repositories ag_6502

[/] [ag_6502/] [trunk/] [genstates/] [states.txt] - Rev 2

Compare with Previous | Blame | View Log

% Common blocks

@READ_AT_PC:
(:1     AB <= PC


@SELECT_EA:
(:1     AB <= EA
        
@SELECT_S:
(:1     AB <= S

@READ_AT_EA:
(:1     @SELECT_EA

@INC_PC:
(:2     PC <= PC + 1

@FETCH:
(0:1    @READ_AT_PC
(0:2    @INC_PC

@ENDC:
(:2     T <= 0

@UNDOC:
        @ENDC

@LOADNZ_SB:
(:2     N,Z <= SB

@LOADNZ_RES:
(:2     N,Z <= RES

@LOADNZ_SB_RES:
(:2     N,Z <= SB,RES

@LOADC_RES:
(:2     C <= RES

@LOADV_RES:
(:2     V <= RES

@LOADV_SB6:
(:2     V <= SB[6]

@ADD:
        ALU_CF = 0
        ALU_DF = 0
        ALU_OP = ADC

@INC:
        SB = 0
        ALU_B = SB
        ALU_CF = 1
        ALU_DF = 0
        ALU_OP = ADC

@INC_C:
        SB = 0
        ALU_B = SB
        ALU_CF = ALUC
        ALU_DF = 0
        ALU_OP = ADC

@DEC:
        SB = 0
        ALU_B = NOT SB
        ALU_CF = 0
        ALU_DF = 0
        ALU_OP = ADC

@COPY_ALU:
        SB = 0
        ALU_B = SB
        ALU_OP = ORA

@ADD_DB_X:
        ALU_A = DB
        SB = X
        ALU_B = SB
        @ADD

@ADD_EAL_PCL:
        ALU_A = EAL
        SB = PCL
        ALU_B = SB
        @ADD

@COPY_DB:
        ALU_A = DB
        @COPY_ALU

@ADD_DB_Y:
        ALU_A = DB
        SB = Y
        ALU_B = SB
        @ADD

@INC_DB_C:
        ALU_A = DB
        @INC_C

@INC_DB:
        ALU_A = DB
        @INC

@INC_EAL:
        ALU_A = EAL
        @INC

@INC_ALU:
        ALU_A = ALU
        @INC

@DEC_ALU:
        ALU_A = ALU
        @DEC

@INC_S:
        ALU_A = S
        @INC

@DEC_S:
        ALU_A = S
        @DEC

@CF_OPERATE:
(1:1    @READ_AT_PC
(2:2    CF <= IR[5]
        @ENDC

@IF_OPERATE:
(1:1    @READ_AT_PC
(2:2    IF <= IR[5]
        @ENDC

@DF_OPERATE:
(1:1    @READ_AT_PC
(2:2    DF <= IR[5]
        @ENDC

@VF_CLEAR:
(1:1    @READ_AT_PC
(2:2    VF <= 0
        @ENDC

@NF_TEST:
        T <= 0 IF NF != IR[5]

@VF_TEST:
        T <= 0 IF VF != IR[5]

@CF_TEST:
        T <= 0 IF CF != IR[5]

@ZF_TEST:
        T <= 0 IF ZF == IR[5]

% Addressing modes

@IMM:
(1:1    @READ_AT_PC
(1:2    @INC_PC

@ZP:
(1:1    @READ_AT_PC
(1:2    EA <= DB
        @INC_PC
(2:1    @SELECT_EA

@REL_READ:
(1:1    @READ_AT_PC
(1:2    @INC_PC
        EAL <= DB

@REL_JUMP:
(2:1    @READ_AT_PC
        @ADD_EAL_PCL
(2:2    PCL <= RES
        T <= 0 IF_C7F
(3:1    @READ_AT_PC
        ALU_A = SIGN
        SB = PCH
        ALU_B = SB
        @ADD
(3:2    PCH <= RES
        @ENDC


@ABS:
(1:1    @READ_AT_PC
(1:2    EAL <= DB
        @INC_PC
(2:1    @READ_AT_PC
(2:2    EAH <= DB
        @INC_PC
(3:1    @SELECT_EA



@INDX:
(1:1    @READ_AT_PC
        @ADD_DB_X
(1:2    EA <= DB
        @INC_PC
(2:1    @READ_AT_EA
        @INC_ALU
(2:2    EAL <= ALU
(3:1    @READ_AT_EA
        @COPY_DB
(3:2    EAL <= ALU
(4:1    @READ_AT_EA
(4:2    EAH <= DB
        EAL <= ALU
(5:1    @SELECT_EA
 

@ABSX_READ:
(1:1    @READ_AT_PC
        @ADD_DB_X
(1:2    EAL <= DB
        @INC_PC
(2:1    @READ_AT_PC
        @INC_DB_C
(2:2    EAH <= DB
        EAL <= ALU
        @INC_PC
        T <= T + 1 IF_ALUCZ
(3:1    @READ_AT_EA
(3:2    EAH <= ALU
(4:1    @SELECT_EA


@ABSY_READ:
(1:1    @READ_AT_PC
        @ADD_DB_Y
(1:2    EAL <= DB
        @INC_PC
(2:1    @READ_AT_PC
        @INC_DB_C
(2:2    EAH <= DB
        EAL <= ALU
        @INC_PC
        T <= T + 1 IF_ALUCZ
(3:1    @READ_AT_EA
(3:2    EAH <= ALU
(4:1    @SELECT_EA


@ABSX_WRITE:
(1:1    @READ_AT_PC
        @ADD_DB_X
(1:2    EAL <= DB
        @INC_PC
(2:1    @READ_AT_PC
        @INC_DB_C
(2:2    EAH <= DB
        EAL <= ALU
        @INC_PC
(3:1    @READ_AT_EA
(3:2    EAH <= ALU
(4:1    @SELECT_EA


@ABSY_WRITE:
(1:1    @READ_AT_PC
        @ADD_DB_Y
(1:2    EAL <= DB
        @INC_PC
(2:1    @READ_AT_PC
        @INC_DB_C
(2:2    EAH <= DB
        EAL <= ALU
        @INC_PC
(3:1    @READ_AT_EA
(3:2    EAH <= ALU
(4:1    @SELECT_EA


@ZPX:
(1:1    @READ_AT_PC
        @ADD_DB_X
(1:2    EA <= DB
        @INC_PC
(2:1    @READ_AT_EA
(2:2    EAL <= ALU
(3:1    @SELECT_EA

@ZPY:
(1:1    @READ_AT_PC
        @ADD_DB_Y
(1:2    EA <= DB
        @INC_PC
(2:1    @READ_AT_EA
(2:2    EAL <= ALU
(3:1    @SELECT_EA



@INDY_READ:
(1:1    @READ_AT_PC
        @INC_DB
(1:2    EA <= DB
        @INC_PC
(2:1    @READ_AT_EA
        @ADD_DB_Y
(2:2    EAL <= ALU
(3:1    @READ_AT_EA
        @INC_DB_C
(3:2    EAH <= DB
        EAL <= ALU
        T <= T + 1 IF_ALUCZ
(4:1    @READ_AT_EA
(4:2    EAH <= ALU
(5:1    @SELECT_EA



@INDY_WRITE:
(1:1    @READ_AT_PC
        @INC_DB
(1:2    EA <= DB
        @INC_PC
(2:1    @READ_AT_EA
        @ADD_DB_Y
(2:2    EAL <= ALU
(3:1    @READ_AT_EA
        @INC_DB_C
(3:2    EAH <= DB
        EAL <= ALU
(4:1    @READ_AT_EA
(4:2    EAH <= ALU
(5:1    @SELECT_EA

@IND_JMP:
(1:1    @READ_AT_PC
(1:2    EAL <= DB
        @INC_PC
(2:1    @READ_AT_PC
        @INC_EAL
(2:2    EAH <= DB
(3:1    @READ_AT_EA
        @COPY_DB
(3:2    EAL <= ALU
(4:1    @READ_AT_EA
        @COPY_DB
(4:2    PCH <= RES
        PCL <= ALU
        @ENDC

% Operations

@LDA:
(:1     SB = DB
(:2     AC <= SB
        @LOADNZ_SB
        @ENDC

@ORA:
(:1     SB = DB
        ALU_A = AC
        ALU_B = SB
        ALU_OP = ORA
(:2     AC <= RES
        @LOADNZ_RES
        @ENDC

@AND:
(:1     SB = DB
        ALU_A = AC
        ALU_B = SB
        ALU_OP = AND
(:2     AC <= RES
        @LOADNZ_RES
        @ENDC

@EOR:
(:1     SB = DB
        ALU_A = AC
        ALU_B = SB
        ALU_OP = EOR
(:2     AC <= RES
        @LOADNZ_RES
        @ENDC

@CMP:
(:1     SB = DB
        ALU_A = AC
        ALU_B = NOT SB
        ALU_DF = 0
        ALU_CF = 1
        ALU_OP = ADC
(:2     @LOADNZ_RES
        @LOADC_RES
        @ENDC

@BIT:
(:1     SB = DB
        ALU_A = AC
        ALU_B = SB
        ALU_OP = AND
(:2     @LOADNZ_SB_RES
        @LOADV_SB6
        @ENDC

@CPX:
(:1     SB = DB
        ALU_A = X
        ALU_B = NOT SB
        ALU_DF = 0
        ALU_CF = 1
        ALU_OP = ADC
(:2     @LOADNZ_RES
        @LOADC_RES
        @ENDC

@CPY:
(:1     SB = DB
        ALU_A = Y
        ALU_B = NOT SB
        ALU_DF = 0
        ALU_CF = 1
        ALU_OP = ADC
(:2     @LOADNZ_RES
        @LOADC_RES
        @ENDC

@ADC:
(:1     SB = DB
        ALU_A = AC
        ALU_B = SB
        ALU_DF = D
        ALU_CF = C
        ALU_OP = ADC
(:2     AC <= RES
        @LOADNZ_RES
        @LOADC_RES
        @LOADV_RES
        @ENDC

@SBC:
(:1     SB = DB
        ALU_A = AC
        ALU_B = NOT SB
        ALU_DF = D
        ALU_CF = C
        ALU_OP = ADC
(:2     AC <= RES
        @LOADNZ_RES
        @LOADC_RES
        @LOADV_RES
        @ENDC

@ASL_A:
(1:1    ALU_A = AC
        ALU_CF = C
        ALU_OP = ASL
(:2     AC <= RES
        @LOADNZ_RES
        @LOADC_RES
        @ENDC

@ASL_M:
(:1     @COPY_DB
(+:1    RW = W
        SB = ALU
        DB <= SB
        ALU_A = ALU
        ALU_CF = C
        ALU_OP = ASL
(:2     @LOADNZ_RES
        @LOADC_RES
(+:1    RW = W
        SB = ALU
        DB <= SB
(:2     @ENDC

@LSR_A:
(1:1    ALU_A = AC
        ALU_CF = C
        ALU_OP = LSR
(:2     AC <= RES
        @LOADNZ_RES
        @LOADC_RES
        @ENDC

@LSR_M:
(:1     @COPY_DB
(+:1    RW = W
        SB = ALU
        DB <= SB
        ALU_A = ALU
        ALU_CF = C
        ALU_OP = LSR
(:2     @LOADNZ_RES
        @LOADC_RES
(+:1    RW = W
        SB = ALU
        DB <= SB
(:2     @ENDC

@ROL_A:
(1:1    ALU_A = AC
        ALU_CF = C
        ALU_OP = ROL
(:2     AC <= RES
        @LOADNZ_RES
        @LOADC_RES
        @ENDC

@ROL_M:
(:1     @COPY_DB
(+:1    RW = W
        SB = ALU
        DB <= SB
        ALU_A = ALU
        ALU_CF = C
        ALU_OP = ROL
(:2     @LOADNZ_RES
        @LOADC_RES
(+:1    RW = W
        SB = ALU
        DB <= SB
(:2     @ENDC

@ROR_A:
(1:1    ALU_A = AC
        ALU_CF = C
        ALU_OP = ROR
(:2     AC <= RES
        @LOADNZ_RES
        @LOADC_RES
        @ENDC

@ROR_M:
(:1     @COPY_DB
(+:1    RW = W
        SB = ALU
        DB <= SB
        ALU_A = ALU
        ALU_CF = C
        ALU_OP = ROR
(:2     @LOADNZ_RES
        @LOADC_RES
(+:1    RW = W
        SB = ALU
        DB <= SB
(:2     @ENDC

@STA:
(:1     RW = W
        SB = AC
        DB <= SB
(:2     @ENDC

@LDX:
(:1     SB = DB
(:2     X <= SB
        @LOADNZ_SB
        @ENDC
@STX:
(:1     RW = W
        SB = X
        DB <= SB
(:2     @ENDC

@LDY:
(:1     SB = DB
(:2     Y <= SB
        @LOADNZ_SB
        @ENDC
@STY:
(:1     RW = W
        SB = Y
        DB <= SB
(:2     @ENDC


@TAY:
(:1     SB = AC
(:2     Y <= SB
        @LOADNZ_SB
        @ENDC

@TYA:
(:1     SB = Y
(:2     AC <= SB
        @LOADNZ_SB
        @ENDC

@TAX:
(:1     SB = AC
(:2     X <= SB
        @LOADNZ_SB
        @ENDC

@TXA:
(:1     SB = X
(:2     AC <= SB
        @LOADNZ_SB
        @ENDC

@NOP:
(:2     @ENDC

@TSX:
(:1     SB = S
(:2     X <= SB
        @LOADNZ_SB
        @ENDC

@TXS:
(:1     SB = X
(:2     S <= SB
        @ENDC

@JMP:
(:2     PC <= EA
        @ENDC

@PUSH:
(1:1    @READ_AT_PC
        @DEC_S
(2:1    @SELECT_S
        DB <= SB
        RW = W
(2:2    S <= ALU

@PULL:
(1:1    @READ_AT_PC
        @INC_S
(2:1    @SELECT_S
(2:2    S <= ALU
(3:1    @SELECT_S
        SB = DB

@PHA:
(1:1    @PUSH
(:1     SB = AC
        @ENDC

@PHP:
(1:1    @PUSH
(:1     SB = P
        @ENDC

@PLA:
(:1     @PULL
(:2     AC <= SB
        @LOADNZ_SB
        @ENDC

@PLP:
(:1     @PULL
(:2     P <= SB
        @ENDC

@INX:
(:1     ALU_A = X
        @INC
(:2     X <= RES
        @LOADNZ_RES
        @ENDC

@INY:
(:1     ALU_A = Y
        @INC
(:2     Y <= RES
        @LOADNZ_RES
        @ENDC

@DEX:
(:1     ALU_A = X
        @DEC
(:2     X <= RES
        @LOADNZ_RES
        @ENDC

@DEY:
(:1     ALU_A = Y
        @DEC
(:2     Y <= RES
        @LOADNZ_RES
        @ENDC


@INC_M:
(:1     @COPY_DB
(+:1    RW = W
        DB <= ALU
        @INC_ALU
(:2     @LOADNZ_RES
(+:1    RW = W
        DB <= ALU
(:2     @ENDC

@DEC_M:
(:1     @COPY_DB
(+:1    RW = W
        DB <= ALU
        @DEC_ALU
(:2     @LOADNZ_RES
(+:1    RW = W
        DB <= ALU
(:2     @ENDC

@JSR_ABS:
(1:1    @READ_AT_PC
(1:2    EAL <= DB
        @INC_PC
(2:1    @SELECT_S
        @DEC_S
(3:1    @SELECT_S
        RW = W
        DB <= PCH
        ALU_A = ALU
        @DEC
(3:2    S <= ALU
(4:1    @SELECT_S
        RW = W
        SB = PCL
        DB <= SB
(4:2    S <= ALU
(5:1    @READ_AT_PC
        @COPY_DB
(5:2    PCH <= RES
        PCL <= EAL
        @ENDC

@BRK:
(1:1    @READ_AT_PC
        @DEC_S
(2:1    @SELECT_S
        ALU_A = ALU
        @DEC
        RW = W
        DB <= PCH
(2:2    S <= ALU
(3:1    @SELECT_S
        ALU_A = ALU
        @DEC
        RW = W
        DB <= PCL
(3:2    S <= ALU
(4:1    @SELECT_S
        RW = W
        DB <= P
        @INC_EAL
(4:2    S <= ALU
(5:1    @READ_AT_EA
        @COPY_DB
(5:2    EAL <= ALU
(6:1    @READ_AT_EA
        @COPY_DB
(6:2    PCH <= RES
        PCL <= ALU
        @ENDC


@RTS:
(1:1    @READ_AT_PC
        @INC_S
(2:1    @SELECT_S
        ALU_A = ALU
        @INC
(2:2    S <= ALU
(3:1    @SELECT_S
        @COPY_DB
(3:2    S <= ALU
        PCL <= RES
(4:1    @SELECT_S
        @COPY_DB
(4:2    PCH <= RES
(5:1    @READ_AT_PC
(5:2    @INC_PC
        @ENDC

@RTI:
(1:1    @READ_AT_PC
        @INC_S
(2:1    @SELECT_S
        ALU_A = ALU
        @INC
(2:2    S <= ALU
(3:1    @SELECT_S
        ALU_A = ALU
        @INC
(3:2    S <= ALU
        P <= DB
(4:1    @SELECT_S
        ALU_A = ALU
        @INC
(4:2    PCL <= DB
        S <= ALU
(5:1    @SELECT_S
        @COPY_DB
(5:2    PCH <= RES
        @ENDC

% Extra operations (incomplete)

@LAX:
(:1     SB = DB
(:2     AC <= SB
        X <= SB
        @LOADNZ_SB
        @ENDC


% Real commands

#00: % BRK
(0:     @FETCH
(1:     @BRK

#01: % ORA (IND,X)
(0:     @FETCH
(1:     @INDX
        @ORA

#03: % *SLO (IND,X) - incomplete
(0:     @FETCH
(1:     @INDX
        @UNDOC

#04: % *NOP ZP
(0:     @FETCH
(1:     @ZP
        @NOP

#05: % ORA ZP
(0:     @FETCH
(1:     @ZP
        @ORA

#06: % ASL ZP
(0:     @FETCH
(1:     @ZP
        @ASL_M

#07: % *SLO ZP - incomplete
(0:     @FETCH
(1:     @ZP
        @UNDOC


#08: % PHP
(0:     @FETCH
        @PHP

#09: % ORA #IMM
(0:     @FETCH
(1:     @IMM
        @ORA

#0A: % ASL A
(0:     @FETCH
        @ASL_A

#0B: % *ANC #IMM - incomplete
(0:     @FETCH
(1:     @IMM
        @UNDOC

#0C: % *NOP ABS
(0:     @FETCH
(1:     @ABS
        @NOP

#0D: % ORA ABS
(0:     @FETCH
(1:     @ABS
        @ORA

#0E: % ASL ABS
(0:     @FETCH
(1:     @ABS
        @ASL_M

#0F: % *SLO ABS - incomplete
(0:     @FETCH
(1:     @ABS
        @UNDOC

#10: % BPL REL
(0:     @FETCH
(1:     @REL_READ
        @NF_TEST
        @REL_JUMP

#11: % ORA (IND),Y
(0:     @FETCH
(1:     @INDY_READ
        @ORA

#13: % *SLO (IND),Y - incomplete
(0:     @FETCH
(1:     @INDY_WRITE
        @UNDOC

#14: % *NOP ZP,X
(0:     @FETCH
(1:     @ZPX
        @NOP

#15: % ORA ZP,X
(0:     @FETCH
(1:     @ZPX
        @ORA

#16: % ASL ZP,X
(0:     @FETCH
(1:     @ZPX
        @ASL_M

#17: % *SLO ZP,X - incomplete
(0:     @FETCH
(1:     @ZPX
        @UNDOC

#18: % CLC
(0:     @FETCH
        @CF_OPERATE


#19: % ORA ABS,Y
(0:     @FETCH
(1:     @ABSY_READ
        @ORA

#1A: % *NOP
(0:     @FETCH
(1:     @NOP

#1B: % *SLO ABS,Y - incomplete
(0:     @FETCH
(1:     @ABSY_WRITE
        @UNDOC


#1C: % *NOP ABS,X
(0:     @FETCH
(1:     @ABSX_READ
        @NOP

#1D: % ORA ABS,X
(0:     @FETCH
(1:     @ABSX_READ
        @ORA


#1E: % ASL ABS,X
(0:     @FETCH
(1:     @ABSX_WRITE
        @ASL_M

#1F: % *SLO ABS,X - incomplete
(0:     @FETCH
(1:     @ABSX_WRITE
        @UNDOC

#20: % JSR ABS
(0:     @FETCH
(1:     @JSR_ABS

#21: % AND (IND,X)
(0:     @FETCH
(1:     @INDX
        @AND

#23: % *RLA (IND,X) - incomplete
(0:     @FETCH
(1:     @INDX
        @UNDOC

#24: % BIT ZP
(0:     @FETCH
(1:     @ZP
        @BIT

#25: % AND ZP
(0:     @FETCH
(1:     @ZP
        @AND

#26: % ROL ZP
(0:     @FETCH
(1:     @ZP
        @ROL_M

#27: % *RLA ZP - incomplete
(0:     @FETCH
(1:     @ZP
        @UNDOC


#28: % PLP
(0:     @FETCH
(1:     @PLP


#29: % AND #IMM
(0:     @FETCH
(1:     @IMM
        @AND

#2A: % ROL A
(0:     @FETCH
        @ROL_A

#2B: % *ANC #IMM - incomplete
(0:     @FETCH
(1:     @IMM
        @UNDOC

#2C: % BIT ABS
(0:     @FETCH
(1:     @ABS
        @BIT

#2D: % AND ABS
(0:     @FETCH
(1:     @ABS
        @AND

#2E: % ROL ABS
(0:     @FETCH
(1:     @ABS
        @ROL_M

#2F: % *RLA ABS - incomplete
(0:     @FETCH
(1:     @ABS
        @UNDOC

#30: % BMI REL
(0:     @FETCH
(1:     @REL_READ
        @NF_TEST
        @REL_JUMP

#31: % AND (IND),Y
(0:     @FETCH
(1:     @INDY_READ
        @AND

#33: % *RLA (IND),Y - incomplete
(0:     @FETCH
(1:     @INDY_WRITE
        @UNDOC


#34: % *NOP ZP,X
(0:     @FETCH
(1:     @ZPX
        @NOP

#35: % AND ZP,X
(0:     @FETCH
(1:     @ZPX
        @AND

#36: % ROL ZP,X
(0:     @FETCH
(1:     @ZPX
        @ROL_M

#37: % *RLA ZP,X - incomplete
(0:     @FETCH
(1:     @ZPX
        @UNDOC

#38: % SEC
(0:     @FETCH
        @CF_OPERATE

#39: % AND ABS,Y
(0:     @FETCH
(1:     @ABSY_READ
        @AND

#3A: % *NOP
(0:     @FETCH
(1:     @NOP

#3B: % *RLA ABS,Y - incomplete
(0:     @FETCH
(1:     @ABSY_WRITE
        @UNDOC

#3C: % *NOP ABS,X
(0:     @FETCH
(1:     @ABSX_READ
        @NOP

#3D: % AND ABS,X
(0:     @FETCH
(1:     @ABSX_READ
        @AND

#3E: % ROL ABS,X
(0:     @FETCH
(1:     @ABSX_WRITE
        @ROL_M

#3F: % *RLA ABS,X - incomplete
(0:     @FETCH
(1:     @ABSX_WRITE
        @UNDOC


#40: % RTI
(0:     @FETCH
(1:     @RTI

#41: % EOR (IND,X)
(0:     @FETCH
(1:     @INDX
        @EOR

#43: % *SRE (IND,X) - incomplete
(0:     @FETCH
(1:     @INDX
        @UNDOC

#44: % *NOP ZP
(0:     @FETCH
(1:     @ZP
        @NOP

#45: % EOR ZP
(0:     @FETCH
(1:     @ZP
        @EOR

#46: % LSR ZP
(0:     @FETCH
(1:     @ZP
        @LSR_M

#47: % *SRE ZP - incomplete
(0:     @FETCH
(1:     @ZP
        @UNDOC

#48: % PHA
(0:     @FETCH
(1:     @PHA


#49: % EOR #IMM
(0:     @FETCH
(1:     @IMM
        @EOR

#4A: % LSR A
(0:     @FETCH
        @LSR_A

#4B: % *ALR #IMM - incomplete
(0:     @FETCH
(1:     @IMM
        @UNDOC

#4C: % JMP ABS
(0:     @FETCH
(1:     @ABS
        @JMP

#4D: % EOR ABS
(0:     @FETCH
(1:     @ABS
        @EOR

#4E: % LSR ABS
(0:     @FETCH
(1:     @ABS
        @LSR_M

#4F: % *SRE ABS - incomplete
(0:     @FETCH
(1:     @ABS
        @UNDOC

#50: % BVC REL
(0:     @FETCH
(1:     @REL_READ
        @VF_TEST
        @REL_JUMP

#51: % EOR (IND),Y
(0:     @FETCH
(1:     @INDY_READ
        @EOR

#53: % *SRE (IND),Y - incomplete
(0:     @FETCH
(1:     @INDY_WRITE
        @UNDOC

#54: % *NOP ZP,X
(0:     @FETCH
(1:     @ZPX
        @NOP

#55: % EOR ZP,X
(0:     @FETCH
(1:     @ZPX
        @EOR

#56: % LSR ZP,X
(0:     @FETCH
(1:     @ZPX
        @LSR_M

#57: % *SRE ZP,X - incomplete
(0:     @FETCH
(1:     @ZPX
        @UNDOC

#58: % CLI
(0:     @FETCH
        @IF_OPERATE

#59: % EOR ABS,Y
(0:     @FETCH
(1:     @ABSY_READ
        @EOR

#5A: % *NOP
(0:     @FETCH
(1:     @NOP

#5B: % *SRE ABS,Y - incomplete
(0:     @FETCH
(1:     @ABSY_WRITE
        @UNDOC

#5C: % *NOP ABS,X
(0:     @FETCH
(1:     @ABSX_READ
        @NOP

#5D: % EOR ABS,X
(0:     @FETCH
(1:     @ABSX_READ
        @EOR

#5E: % LSR ABS,X
(0:     @FETCH
(1:     @ABSX_WRITE
        @LSR_M

#5F: % *SRE ABS,X - incomplete
(0:     @FETCH
(1:     @ABSX_WRITE
        @UNDOC



#60: % RTS
(0:     @FETCH
(1:     @RTS

#61: % ADC (IND,X)
(0:     @FETCH
(1:     @INDX
        @ADC

#63: % *RRA (IND,X) - incomplete
(0:     @FETCH
(1:     @INDX
        @UNDOC

#64: % *NOP ZP
(0:     @FETCH
(1:     @ZP
        @NOP

#65: % ADC ZP
(0:     @FETCH
(1:     @ZP
        @ADC

#66: % ROR ZP
(0:     @FETCH
(1:     @ZP
        @ROR_M

#67: % *RRA ZP - incomplete
(0:     @FETCH
(1:     @ZP
        @UNDOC

#68: % PLA
(0:     @FETCH
(1:     @PLA


#69: % ADC #IMM
(0:     @FETCH
(1:     @IMM
        @ADC

#6A: % ROR A
(0:     @FETCH
        @ROR_A

#6B: % *ARR #IMM - incomplete
(0:     @FETCH
(1:     @IMM
        @UNDOC

#6C: % JMP (IND)
(0:     @FETCH
(1:     @IND_JMP

#6D: % ADC ABS
(0:     @FETCH
(1:     @ABS
        @ADC

#6E: % ROR ABS
(0:     @FETCH
(1:     @ABS
        @ROR_M

#6F: % *RRA ABS - uncomplete
(0:     @FETCH
(1:     @ABS
        @UNDOC

#70: % BVS REL
(0:     @FETCH
(1:     @REL_READ
        @VF_TEST
        @REL_JUMP

#71: % ADC (IND),Y
(0:     @FETCH
(1:     @INDY_READ
        @ADC

#73: % *RRA (IND),Y - incomplete
(0:     @FETCH
(1:     @INDY_WRITE
        @UNDOC

#74: % *NOP ZP,X
(0:     @FETCH
(1:     @ZPX
        @NOP

#75: % ADC ZP,X
(0:     @FETCH
(1:     @ZPX
        @ADC

#76: % ROR ZP,X
(0:     @FETCH
(1:     @ZPX
        @ROR_M

#77: % *RRA ZP,X - incomplete
(0:     @FETCH
(1:     @ZPX
        @UNDOC

#78: % SEI
(0:     @FETCH
        @IF_OPERATE


#79: % ADC ABS,Y
(0:     @FETCH
(1:     @ABSY_READ
        @ADC

#7A: % *NOP
(0:     @FETCH
(1:     @NOP

#7B: % *RRA ABS,Y - incomplete
(0:     @FETCH
(1:     @ABSY_WRITE
        @UNDOC

#7C: % *NOP ABS,X
(0:     @FETCH
(1:     @ABSX_READ
        @NOP

#7D: % ADC ABS,X
(0:     @FETCH
(1:     @ABSX_READ
        @ADC

#7E: % ROR ABS,X
(0:     @FETCH
(1:     @ABSX_WRITE
        @ROR_M

#7F: % *RRA ABS,X - incomplete
(0:     @FETCH
(1:     @ABSX_WRITE
        @UNDOC


#80: % *NOP #IMM
(0:     @FETCH
(1:     @IMM
        @NOP

#81: % STA (IND,X)
(0:     @FETCH
(1:     @INDX
        @STA

#82: % *NOP #IMM
(0:     @FETCH
(1:     @IMM
        @NOP

#83: % *SAX (IND,X) - incomplete
(0:     @FETCH
(1:     @INDX
        @UNDOC

#84: % STY ZP
(0:     @FETCH
(1:     @ZP
        @STY

#85: % STA ZP
(0:     @FETCH
(1:     @ZP
        @STA

#86: % STX ZP
(0:     @FETCH
(1:     @ZP
        @STX

#87: % *SAX ZP - incomplete
(0:     @FETCH
(1:     @ZP
        @UNDOC

#88: % DEY
(0:     @FETCH
(1:     @DEY


#89: % *NOP #IMM
(0:     @FETCH
(1:     @IMM
        @NOP

#8A: % TXA
(0:     @FETCH
(1:     @TXA

#8B: % *XAA - incomplete
(0:     @FETCH
(1:     @UNDOC

#8C: % STY ABS
(0:     @FETCH
(1:     @ABS
        @STY

#8D: % STA ABS
(0:     @FETCH
(1:     @ABS
        @STA

#8E: % STX ABS
(0:     @FETCH
(1:     @ABS
        @STX

#8F: % *SAX ABS - incomplete
(0:     @FETCH
(1:     @ABS
        @UNDOC

#90: % BCC REL
(0:     @FETCH
(1:     @REL_READ
        @CF_TEST
        @REL_JUMP

#91: % STA (IND),Y
(0:     @FETCH
(1:     @INDY_WRITE
        @STA

#93: % *SAX (IND),Y - incomplete
(0:     @FETCH
(1:     @INDY_WRITE
        @UNDOC

#94: % STY ZP,X
(0:     @FETCH
(1:     @ZPX
        @STY

#95: % STA ZP,X
(0:     @FETCH
(1:     @ZPX
        @STA

#96: % STX ZP,Y
(0:     @FETCH
(1:     @ZPY
        @STX

#97: % *SAX ZP,Y - incomplete
(0:     @FETCH
(1:     @ZPY
        @UNDOC

#98: % TYA
(0:     @FETCH
(1:     @TYA


#99: % STA ABS,Y
(0:     @FETCH
(1:     @ABSY_WRITE
        @STA

#9A: % TXS
(0:     @FETCH
(1:     @TXS

#9B: % *TAS ABS,Y - incomplete
(0:     @FETCH
(1:     @ABSY_WRITE
        @UNDOC

#9C: % *SHY ABS,X - incomplete
(0:     @FETCH
(1:     @ABSX_WRITE
        @UNDOC

#9D: % STA ABS,X
(0:     @FETCH
(1:     @ABSX_WRITE
        @STA

#9E: % *SHX ABS,Y - incomplete
(0:     @FETCH
(1:     @ABSY_WRITE
        @UNDOC

#9F: % *AHX ABS,Y - incomplete
(0:     @FETCH
(1:     @ABSY_WRITE
        @UNDOC


#A0: % LDY #IMM
(0:     @FETCH
(1:     @IMM
        @LDY

#A1: % LDA (IND,X)
(0:     @FETCH
(1:     @INDX
        @LDA

#A2: % LDX #IMM
(0:     @FETCH
(1:     @IMM
        @LDX

#A3: % *LAX (IND,X)
(0:     @FETCH
(1:     @INDX
        @LAX

#A4: % LDY ZP
(0:     @FETCH
(1:     @ZP
        @LDY

#A5: % LDA ZP
(0:     @FETCH
(1:     @ZP
        @LDA

#A6: % LDX ZP
(0:     @FETCH
(1:     @ZP
        @LDX

#A7: % *LAX ZP
(0:     @FETCH
(1:     @ZP
        @LAX

#A8: % TAY
(0:     @FETCH
(1:     @TAY

#A9: % LDA #IMM
(0:     @FETCH
(1:     @IMM
        @LDA

#AA: % TAX
(0:     @FETCH
(1:     @TAX

#AB: % *LAX #IMM
(0:     @FETCH
(1:     @IMM
        @LAX



#AC: % LDY ABS
(0:     @FETCH
(1:     @ABS
        @LDY

#AD: % LDA ABS
(0:     @FETCH
(1:     @ABS
        @LDA

#AE: % LDX ABS
(0:     @FETCH
(1:     @ABS
        @LDX

#AF: % *LAX ABS
(0:     @FETCH
(1:     @ABS
        @LAX

#B0: % BCS REL
(0:     @FETCH
(1:     @REL_READ
        @CF_TEST
        @REL_JUMP


#B1: % LDA (IND),Y
(0:     @FETCH
(1:     @INDY_READ
        @LDA

#B3: % *LAX (IND),Y
(0:     @FETCH
(1:     @INDY_READ
        @LAX

#B4: % LDY ZP,X
(0:     @FETCH
(1:     @ZPX
        @LDY

#B5: % LDA ZP,X
(0:     @FETCH
(1:     @ZPX
        @LDA

#B6: % LDX ZP,Y
(0:     @FETCH
(1:     @ZPY
        @LDX

#B7: % *LAX ZP,Y
(0:     @FETCH
(1:     @ZPY
        @LAX

#B8: % CLV
(0:     @FETCH
        @VF_CLEAR

#B9: % LDA ABS,Y
(0:     @FETCH
(1:     @ABSY_READ
        @LDA

#BA: % TSX
(0:     @FETCH
(1:     @TSX


#BB: % *LAS ABS,Y - incomplete
(0:     @FETCH
(1:     @ABSY_READ
        @UNDOC

#BC: % LDY ABS,X
(0:     @FETCH
(1:     @ABSX_READ
        @LDY

#BD: % LDA ABS,X
(0:     @FETCH
(1:     @ABSX_READ
        @LDA

#BE: % LDX ABS,Y
(0:     @FETCH
(1:     @ABSY_READ
        @LDX

#BF: % *LAX ABS,Y
(0:     @FETCH
(1:     @ABSY_READ
        @LAX




#C0: % CPY #IMM
(0:     @FETCH
(1:     @IMM
        @CPY

#C1: % CMP (IND,X)
(0:     @FETCH
(1:     @INDX
        @CMP

#C2: % *NOP #IMM
(0:     @FETCH
(1:     @IMM
        @NOP

#C3: % *DCP (IND,X) - incomplete
(0:     @FETCH
(1:     @INDX
        @UNDOC

#C4: % CPY ZP
(0:     @FETCH
(1:     @ZP
        @CPY

#C5: % CMP ZP
(0:     @FETCH
(1:     @ZP
        @CMP

#C6: % DEC ZP
(0:     @FETCH
(1:     @ZP
        @DEC_M

#C7: % *DCP ZP - incomplete
(0:     @FETCH
(1:     @ZP
        @UNDOC

#C8: % INY
(0:     @FETCH
(1:     @INY

#C9: % CMP #IMM
(0:     @FETCH
(1:     @IMM
        @CMP

#CA: % DEX
(0:     @FETCH
(1:     @DEX

#CB: % *AXS #IMM - incomplete
(0:     @FETCH
(1:     @IMM
        @UNDOC


#CC: % CPY ABS
(0:     @FETCH
(1:     @ABS
        @CPY

#CD: % CMP ABS
(0:     @FETCH
(1:     @ABS
        @CMP

#CE: % DEC ABS
(0:     @FETCH
(1:     @ABS
        @DEC_M

#CF: % *DCP ABS - incomplete
(0:     @FETCH
(1:     @ABS
        @UNDOC

#D0: % BNE REL
(0:     @FETCH
(1:     @REL_READ
        @ZF_TEST
        @REL_JUMP

#D1: % CMP (IND),Y
(0:     @FETCH
(1:     @INDY_READ
        @CMP

#D3: % *DCP (IND),Y - incomplete
(0:     @FETCH
(1:     @INDY_READ
        @UNDOC

#D4: % *NOP ZP,X
(0:     @FETCH
(1:     @ZPX
        @NOP

#D5: % CMP ZP,X
(0:     @FETCH
(1:     @ZPX
        @CMP

#D6: % DEC ZP,X
(0:     @FETCH
(1:     @ZPX
        @DEC_M

#D7: % *DCP ZP,X - incomplete
(0:     @FETCH
(1:     @ZPX
        @UNDOC

#D8: % CLD
(0:     @FETCH
        @DF_OPERATE

#D9: % CMP ABS,Y
(0:     @FETCH
(1:     @ABSY_READ
        @CMP

#DA: % *NOP
(0:     @FETCH
(1:     @NOP

#DB: % *DCP ABS,Y - incomplete
(0:     @FETCH
(1:     @ABSY_READ
        @UNDOC

#DC: % *NOP ABS,X
(0:     @FETCH
(1:     @ABSX_READ
        @NOP

#DD: % CMP ABS,X
(0:     @FETCH
(1:     @ABSX_READ
        @CMP

#DE: % DEC ABS,X
(0:     @FETCH
(1:     @ABSX_WRITE
        @DEC_M

#DF: % *DCP ABS,X - incomplete
(0:     @FETCH
(1:     @ABSX_WRITE
        @UNDOC


#E0: % CPX #IMM
(0:     @FETCH
(1:     @IMM
        @CPX

#E1: % SBC (IND,X)
(0:     @FETCH
(1:     @INDX
        @SBC

#E2: % *NOP #IMM
(0:     @FETCH
(1:     @IMM
        @NOP

#E3: % *ISC (IND,X) - incomplete
(0:     @FETCH
(1:     @INDX
        @UNDOC


#E4: % CPX ZP
(0:     @FETCH
(1:     @ZP
        @CPX

#E5: % SBC ZP
(0:     @FETCH
(1:     @ZP
        @SBC

#E6: % INC ZP
(0:     @FETCH
(1:     @ZP
        @INC_M

#E7: % *ISC ZP - incomplete
(0:     @FETCH
(1:     @ZP
        @UNDOC

#E8: % INX
(0:     @FETCH
(1:     @INX

#E9: % SBC #IMM
(0:     @FETCH
(1:     @IMM
        @SBC

#EA: % NOP
(0:     @FETCH
(1:     @NOP

#EB: % *SBC #IMM
(0:     @FETCH
(1:     @IMM
        @SBC

#EC: % CPX ABS
(0:     @FETCH
(1:     @ABS
        @CPX

#ED: % SBC ABS
(0:     @FETCH
(1:     @ABS
        @SBC

#EE: % INC ABS
(0:     @FETCH
(1:     @ABS
        @INC_M

#EF: % *ISC ABS - incomplete
(0:     @FETCH
(1:     @ABS
        @UNDOC

#F0: % BEQ REL
(0:     @FETCH
(1:     @REL_READ
        @ZF_TEST
        @REL_JUMP

#F1: % SBC (IND),Y
(0:     @FETCH
(1:     @INDY_READ
        @SBC

#F3: % *ISC (IND),Y - incomplete
(0:     @FETCH
(1:     @INDY_READ
        @UNDOC

#F4: % *NOP ZP,X
(0:     @FETCH
(1:     @ZPX
        @NOP


#F5: % SBC ZP,X
(0:     @FETCH
(1:     @ZPX
        @SBC

#F6: % INC ZP,X
(0:     @FETCH
(1:     @ZPX
        @INC_M

#F7: % *ISC ZP,X - incomplete
(0:     @FETCH
(1:     @ZPX
        @UNDOC


#F8: % SED
(0:     @FETCH
        @DF_OPERATE


#F9: % SBC ABS,Y
(0:     @FETCH
(1:     @ABSY_READ
        @SBC

#FA: % *NOP
(0:     @FETCH
(1:     @NOP

#FB: % *ISC ABS,Y - incomplete
(0:     @FETCH
(1:     @ABSY_READ
        @UNDOC


#FC: % *NOP ABS,X
(0:     @FETCH
(1:     @ABSX_READ
        @NOP

#FD: % SBC ABS,X
(0:     @FETCH
(1:     @ABSX_READ
        @SBC

#FE: % INC ABS,X
(0:     @FETCH
(1:     @ABSX_WRITE
        @INC_M

#FF: % *ISC ABS,X - incomplete
(0:     @FETCH
(1:     @ABSX_READ
        @UNDOC

Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.