Log inRegister an accountBrowse CSDbHelp & documentationFacts & StatisticsThe forumsAvailable RSS-feeds on CSDbSupport CSDb Commodore 64 Scene Database
You are not logged in - nap
CSDb User Forums


Forums > C64 Coding > 6502 mnemonics definitions as compilable header file
2012-08-16 16:39
Monte Carlos

Registered: Jun 2004
Posts: 359
6502 mnemonics definitions as compilable header file

I'm currently searching through the internet for a list of 6502 mnemonics in the form

Instruction_NOP = $ea
Instruction_BITZP = $24
Instruction_LDAIMM = $A9

etc.

I want to use such a list to stadardize speedcode generation.
I do not want to define the opcode values again and again in every code where i need speedcode generation.
What i can find are lists of the instructions with explanations and some intruction to value correspondences as tables, but this is not the format to include it in a sourcecode for beeing able make something like

lda #Instruction_LDAIMM
sta (speedcodeptr),y
iny
lda #some value
sta (speedcodeptr),y

etc.

If someone knows about such an header file existing somewhere in the net i would be glad about getting a hint. Else i would have to create such a list by myself.

Yours Monte Carlos
 
... 7 posts hidden. Click here to view all posts....
 
2012-08-16 20:16
Monte Carlos

Registered: Jun 2004
Posts: 359
Maybe this is also of use for someone else?

Top: Assembler defines
Bottom: C defines (->6502.h)

OPC6502_ADC_IMM = $69
OPC6502_ADC_ABS = $6d
OPC6502_ADC_ABSX = $7d
OPC6502_ADC_ABSY = $79
OPC6502_ADC_ZP = $65
OPC6502_ADC_ZPX = $75
OPC6502_ADC_XIND = $61
OPC6502_ADC_INDY = $71
OPC6502_AND_IMM = $29
OPC6502_AND_ABS = $2d
OPC6502_AND_ABSX = $3d
OPC6502_AND_ABSY = $39
OPC6502_AND_ZP = $25
OPC6502_AND_ZPX = $35
OPC6502_AND_XIND = $21
OPC6502_AND_INDY = $31
OPC6502_ASL = $0a
OPC6502_ASL_ABS = $0e
OPC6502_ASL_ABSX = $1e
OPC6502_ASL_ZP = $06
OPC6502_ASL_ZPX = $16
OPC6502_BCC = $90
OPC6502_BCS = $b0
OPC6502_BEQ = $f0
OPC6502_BIT_ABS = $2c
OPC6502_BIT_ZP = $24
OPC6502_BMI = $30
OPC6502_BNE = $d0
OPC6502_BPL = $10
OPC6502_BRK = $00
OPC6502_BVC = $50
OPC6502_BVS = $70
OPC6502_CLC = $18
OPC6502_CLD = $d8
OPC6502_CLI = $58
OPC6502_CLV = $b8
OPC6502_CMP_IMM = $c9
OPC6502_CMP_ABS = $cd
OPC6502_CMP_ABSX = $dd
OPC6502_CMP_ABSY = $d9
OPC6502_CMP_ZP = $c5
OPC6502_CMP_ZPX = $d5
OPC6502_CMP_XIND = $c1
OPC6502_CMP_INDY = $d1
OPC6502_CPX_IMM = $e0
OPC6502_CPX_ABS = $ec
OPC6502_CPX_ZP = $e4
OPC6502_CPY_IMM = $c0
OPC6502_CPY_ABS = $cc
OPC6502_CPY_ZP = $c4
OPC6502_DEC_ABS = $ce
OPC6502_DEC_ABSX = $de
OPC6502_DEC_ZP = $c6
OPC6502_DEC_ZPX = $d6
OPC6502_DEX = $ca
OPC6502_DEY = $88
OPC6502_EOR_IMM = $49
OPC6502_EOR_ABS = $4d
OPC6502_EOR_ABSX = $5d
OPC6502_EOR_ABSY = $59
OPC6502_EOR_ZP = $45
OPC6502_EOR_ZPX = $55
OPC6502_EOR_XIND = $41
OPC6502_EOR_INDY = $51
OPC6502_INC_ABS = $ee
OPC6502_INC_ABSX = $fe
OPC6502_INC_ZP = $e6
OPC6502_INC_ZPX = $f6
OPC6502_INX = $e8
OPC6502_INY = $c8
OPC6502_JMP_ABS = $4c
OPC6502_JMP_IND = $6c
OPC6502_JSR_ABS = $20
OPC6502_LDA_IMM = $a9
OPC6502_LDA_ABS = $ad
OPC6502_LDA_ABSX = $bd
OPC6502_LDA_ABSY = $b9
OPC6502_LDA_ZP = $a5
OPC6502_LDA_ZPX = $b5
OPC6502_LDA_XIND = $a1
OPC6502_LDA_INDY = $b1
OPC6502_LDX_IMM = $a2
OPC6502_LDX_ABS = $ae
OPC6502_LDX_ABSY = $be
OPC6502_LDX_ZP = $a6
OPC6502_LDX_ZPY = $b6
OPC6502_LDY_IMM = $a0
OPC6502_LDY_ABS = $ac
OPC6502_LDY_ABSX = $bc
OPC6502_LDY_ZP = $a4
OPC6502_LDY_ZPX = $b4
OPC6502_LSRA = $4a
OPC6502_LSR_ABS = $4e
OPC6502_LSR_ABSX = $5e
OPC6502_LSR_ZP = $46
OPC6502_LSR_ZPX = $56
OPC6502_NOP = $ea
OPC6502_ORA_IMM = $09
OPC6502_ORA_ABS = $0d
OPC6502_ORA_ABSX = $1d
OPC6502_ORA_ABSY = $19
OPC6502_ORA_ZP = $05
OPC6502_ORA_ZPX = $15
OPC6502_ORA_XIND = $01
OPC6502_ORA_INDY = $11
OPC6502_PHA = $48
OPC6502_PHP = $08
OPC6502_PLA = $68
OPC6502_PLP = $28
OPC6502_ROLA = $2a
OPC6502_ROL_ABS = $2e
OPC6502_ROL_ABSX = $3e
OPC6502_ROL_ZP = $26
OPC6502_ROL_ZPX = $36
OPC6502_RORA = $6a
OPC6502_ROR_ABS = $7e
OPC6502_ROR_ABSX = $6e
OPC6502_ROR_ZP = $66
OPC6502_ROR_ZPX = $76
OPC6502_RTI = $40
OPC6502_RTS = $60
OPC6502_SBC_IMM = $e9
OPC6502_SBC_ABS = $ed
OPC6502_SBC_ABSX = $fd
OPC6502_SBC_ABSY = $f9
OPC6502_SBC_ZP = $e5
OPC6502_SBC_ZPX = $f5
OPC6502_SBC_XIND = $e1
OPC6502_SBC_INDY = $f1
OPC6502_SEC = $38
OPC6502_SED = $f8
OPC6502_SEI = $78
OPC6502_STA_ABS = $8d
OPC6502_STA_ABSX = $9d
OPC6502_STA_ABSY = $99
OPC6502_STA_ZP = $85
OPC6502_STA_ZPX = $95
OPC6502_STA_XIND = $81
OPC6502_STA_INDY = $91
OPC6502_STX_ABS = $8e
OPC6502_STX_ZP = $86
OPC6502_STX_ZPY = $96
OPC6502_STY_ABS = $8c
OPC6502_STY_ZP = $84
OPC6502_STY_ZPX = $94
OPC6502_TAX = $aa
OPC6502_TAY = $a8
OPC6502_TSX = $ba
OPC6502_TXA = $8a
OPC6502_TXS = $9a
OPC6502_TYA = $98

#define OPC6502_ADC_IMM $69
#define OPC6502_ADC_ABS $6d
#define OPC6502_ADC_ABSX $7d
#define OPC6502_ADC_ABSY $79
#define OPC6502_ADC_ZP $65
#define OPC6502_ADC_ZPX $75
#define OPC6502_ADC_XIND $61
#define OPC6502_ADC_INDY $71
#define OPC6502_AND_IMM $29
#define OPC6502_AND_ABS $2d
#define OPC6502_AND_ABSX $3d
#define OPC6502_AND_ABSY $39
#define OPC6502_AND_ZP $25
#define OPC6502_AND_ZPX $35
#define OPC6502_AND_XIND $21
#define OPC6502_AND_INDY $31
#define OPC6502_ASL $0a
#define OPC6502_ASL_ABS $0e
#define OPC6502_ASL_ABSX $1e
#define OPC6502_ASL_ZP $06
#define OPC6502_ASL_ZPX $16
#define OPC6502_BCC $90
#define OPC6502_BCS $b0
#define OPC6502_BEQ $f0
#define OPC6502_BIT_ABS $2c
#define OPC6502_BIT_ZP $24
#define OPC6502_BMI $30
#define OPC6502_BNE $d0
#define OPC6502_BPL $10
#define OPC6502_BRK $00
#define OPC6502_BVC $50
#define OPC6502_BVS $70
#define OPC6502_CLC $18
#define OPC6502_CLD $d8
#define OPC6502_CLI $58
#define OPC6502_CLV $b8
#define OPC6502_CMP_IMM $c9
#define OPC6502_CMP_ABS $cd
#define OPC6502_CMP_ABSX $dd
#define OPC6502_CMP_ABSY $d9
#define OPC6502_CMP_ZP $c5
#define OPC6502_CMP_ZPX $d5
#define OPC6502_CMP_XIND $c1
#define OPC6502_CMP_INDY $d1
#define OPC6502_CPX_IMM $e0
#define OPC6502_CPX_ABS $ec
#define OPC6502_CPX_ZP $e4
#define OPC6502_CPY_IMM $c0
#define OPC6502_CPY_ABS $cc
#define OPC6502_CPY_ZP $c4
#define OPC6502_DEC_ABS $ce
#define OPC6502_DEC_ABSX $de
#define OPC6502_DEC_ZP $c6
#define OPC6502_DEC_ZPX $d6
#define OPC6502_DEX $ca
#define OPC6502_DEY $88
#define OPC6502_EOR_IMM $49
#define OPC6502_EOR_ABS $4d
#define OPC6502_EOR_ABSX $5d
#define OPC6502_EOR_ABSY $59
#define OPC6502_EOR_ZP $45
#define OPC6502_EOR_ZPX $55
#define OPC6502_EOR_XIND $41
#define OPC6502_EOR_INDY $51
#define OPC6502_INC_ABS $ee
#define OPC6502_INC_ABSX $fe
#define OPC6502_INC_ZP $e6
#define OPC6502_INC_ZPX $f6
#define OPC6502_INX $e8
#define OPC6502_INY $c8
#define OPC6502_JMP_ABS $4c
#define OPC6502_JMP_IND $6c
#define OPC6502_JSR_ABS $20
#define OPC6502_LDA_IMM $a9
#define OPC6502_LDA_ABS $ad
#define OPC6502_LDA_ABSX $bd
#define OPC6502_LDA_ABSY $b9
#define OPC6502_LDA_ZP $a5
#define OPC6502_LDA_ZPX $b5
#define OPC6502_LDA_XIND $a1
#define OPC6502_LDA_INDY $b1
#define OPC6502_LDX_IMM $a2
#define OPC6502_LDX_ABS $ae
#define OPC6502_LDX_ABSY $be
#define OPC6502_LDX_ZP $a6
#define OPC6502_LDX_ZPY $b6
#define OPC6502_LDY_IMM $a0
#define OPC6502_LDY_ABS $ac
#define OPC6502_LDY_ABSX $bc
#define OPC6502_LDY_ZP $a4
#define OPC6502_LDY_ZPX $b4
#define OPC6502_LSRA $4a
#define OPC6502_LSR_ABS $4e
#define OPC6502_LSR_ABSX $5e
#define OPC6502_LSR_ZP $46
#define OPC6502_LSR_ZPX $56
#define OPC6502_NOP $ea
#define OPC6502_ORA_IMM $09
#define OPC6502_ORA_ABS $0d
#define OPC6502_ORA_ABSX $1d
#define OPC6502_ORA_ABSY $19
#define OPC6502_ORA_ZP $05
#define OPC6502_ORA_ZPX $15
#define OPC6502_ORA_XIND $01
#define OPC6502_ORA_INDY $11
#define OPC6502_PHA $48
#define OPC6502_PHP $08
#define OPC6502_PLA $68
#define OPC6502_PLP $28
#define OPC6502_ROLA $2a
#define OPC6502_ROL_ABS $2e
#define OPC6502_ROL_ABSX $3e
#define OPC6502_ROL_ZP $26
#define OPC6502_ROL_ZPX $36
#define OPC6502_RORA $6a
#define OPC6502_ROR_ABS $7e
#define OPC6502_ROR_ABSX $6e
#define OPC6502_ROR_ZP $66
#define OPC6502_ROR_ZPX $76
#define OPC6502_RTI $40
#define OPC6502_RTS $60
#define OPC6502_SBC_IMM $e9
#define OPC6502_SBC_ABS $ed
#define OPC6502_SBC_ABSX $fd
#define OPC6502_SBC_ABSY $f9
#define OPC6502_SBC_ZP $e5
#define OPC6502_SBC_ZPX $f5
#define OPC6502_SBC_XIND $e1
#define OPC6502_SBC_INDY $f1
#define OPC6502_SEC $38
#define OPC6502_SED $f8
#define OPC6502_SEI $78
#define OPC6502_STA_ABS $8d
#define OPC6502_STA_ABSX $9d
#define OPC6502_STA_ABSY $99
#define OPC6502_STA_ZP $85
#define OPC6502_STA_ZPX $95
#define OPC6502_STA_XIND $81
#define OPC6502_STA_INDY $91
#define OPC6502_STX_ABS $8e
#define OPC6502_STX_ZP $86
#define OPC6502_STX_ZPY $96
#define OPC6502_STY_ABS $8c
#define OPC6502_STY_ZP $84
#define OPC6502_STY_ZPX $94
#define OPC6502_TAX $aa
#define OPC6502_TAY $a8
#define OPC6502_TSX $ba
#define OPC6502_TXA $8a
#define OPC6502_TXS $9a
#define OPC6502_TYA $98
2012-08-16 20:16
Stone

Registered: Oct 2006
Posts: 172
Didn't see Flavio's table there.. That's even easier.
2012-08-16 20:23
Monte Carlos

Registered: Jun 2004
Posts: 359
It was generated some minutes ago from Flavios table by search and replace.

Here is the corrected C version. I forgot to replace $ by 0x

#define OPC6502_ADC_IMM 0x69
#define OPC6502_ADC_ABS 0x6d
#define OPC6502_ADC_ABSX 0x7d
#define OPC6502_ADC_ABSY 0x79
#define OPC6502_ADC_ZP 0x65
#define OPC6502_ADC_ZPX 0x75
#define OPC6502_ADC_XIND 0x61
#define OPC6502_ADC_INDY 0x71
#define OPC6502_AND_IMM 0x29
#define OPC6502_AND_ABS 0x2d
#define OPC6502_AND_ABSX 0x3d
#define OPC6502_AND_ABSY 0x39
#define OPC6502_AND_ZP 0x25
#define OPC6502_AND_ZPX 0x35
#define OPC6502_AND_XIND 0x21
#define OPC6502_AND_INDY 0x31
#define OPC6502_ASL 0x0a
#define OPC6502_ASL_ABS 0x0e
#define OPC6502_ASL_ABSX 0x1e
#define OPC6502_ASL_ZP 0x06
#define OPC6502_ASL_ZPX 0x16
#define OPC6502_BCC 0x90
#define OPC6502_BCS 0xb0
#define OPC6502_BEQ 0xf0
#define OPC6502_BIT_ABS 0x2c
#define OPC6502_BIT_ZP 0x24
#define OPC6502_BMI 0x30
#define OPC6502_BNE 0xd0
#define OPC6502_BPL 0x10
#define OPC6502_BRK 0x00
#define OPC6502_BVC 0x50
#define OPC6502_BVS 0x70
#define OPC6502_CLC 0x18
#define OPC6502_CLD 0xd8
#define OPC6502_CLI 0x58
#define OPC6502_CLV 0xb8
#define OPC6502_CMP_IMM 0xc9
#define OPC6502_CMP_ABS 0xcd
#define OPC6502_CMP_ABSX 0xdd
#define OPC6502_CMP_ABSY 0xd9
#define OPC6502_CMP_ZP 0xc5
#define OPC6502_CMP_ZPX 0xd5
#define OPC6502_CMP_XIND 0xc1
#define OPC6502_CMP_INDY 0xd1
#define OPC6502_CPX_IMM 0xe0
#define OPC6502_CPX_ABS 0xec
#define OPC6502_CPX_ZP 0xe4
#define OPC6502_CPY_IMM 0xc0
#define OPC6502_CPY_ABS 0xcc
#define OPC6502_CPY_ZP 0xc4
#define OPC6502_DEC_ABS 0xce
#define OPC6502_DEC_ABSX 0xde
#define OPC6502_DEC_ZP 0xc6
#define OPC6502_DEC_ZPX 0xd6
#define OPC6502_DEX 0xca
#define OPC6502_DEY 0x88
#define OPC6502_EOR_IMM 0x49
#define OPC6502_EOR_ABS 0x4d
#define OPC6502_EOR_ABSX 0x5d
#define OPC6502_EOR_ABSY 0x59
#define OPC6502_EOR_ZP 0x45
#define OPC6502_EOR_ZPX 0x55
#define OPC6502_EOR_XIND 0x41
#define OPC6502_EOR_INDY 0x51
#define OPC6502_INC_ABS 0xee
#define OPC6502_INC_ABSX 0xfe
#define OPC6502_INC_ZP 0xe6
#define OPC6502_INC_ZPX 0xf6
#define OPC6502_INX 0xe8
#define OPC6502_INY 0xc8
#define OPC6502_JMP_ABS 0x4c
#define OPC6502_JMP_IND 0x6c
#define OPC6502_JSR_ABS 0x20
#define OPC6502_LDA_IMM 0xa9
#define OPC6502_LDA_ABS 0xad
#define OPC6502_LDA_ABSX 0xbd
#define OPC6502_LDA_ABSY 0xb9
#define OPC6502_LDA_ZP 0xa5
#define OPC6502_LDA_ZPX 0xb5
#define OPC6502_LDA_XIND 0xa1
#define OPC6502_LDA_INDY 0xb1
#define OPC6502_LDX_IMM 0xa2
#define OPC6502_LDX_ABS 0xae
#define OPC6502_LDX_ABSY 0xbe
#define OPC6502_LDX_ZP 0xa6
#define OPC6502_LDX_ZPY 0xb6
#define OPC6502_LDY_IMM 0xa0
#define OPC6502_LDY_ABS 0xac
#define OPC6502_LDY_ABSX 0xbc
#define OPC6502_LDY_ZP 0xa4
#define OPC6502_LDY_ZPX 0xb4
#define OPC6502_LSRA 0x4a
#define OPC6502_LSR_ABS 0x4e
#define OPC6502_LSR_ABSX 0x5e
#define OPC6502_LSR_ZP 0x46
#define OPC6502_LSR_ZPX 0x56
#define OPC6502_NOP 0xea
#define OPC6502_ORA_IMM 0x09
#define OPC6502_ORA_ABS 0x0d
#define OPC6502_ORA_ABSX 0x1d
#define OPC6502_ORA_ABSY 0x19
#define OPC6502_ORA_ZP 0x05
#define OPC6502_ORA_ZPX 0x15
#define OPC6502_ORA_XIND 0x01
#define OPC6502_ORA_INDY 0x11
#define OPC6502_PHA 0x48
#define OPC6502_PHP 0x08
#define OPC6502_PLA 0x68
#define OPC6502_PLP 0x28
#define OPC6502_ROLA 0x2a
#define OPC6502_ROL_ABS 0x2e
#define OPC6502_ROL_ABSX 0x3e
#define OPC6502_ROL_ZP 0x26
#define OPC6502_ROL_ZPX 0x36
#define OPC6502_RORA 0x6a
#define OPC6502_ROR_ABS 0x7e
#define OPC6502_ROR_ABSX 0x6e
#define OPC6502_ROR_ZP 0x66
#define OPC6502_ROR_ZPX 0x76
#define OPC6502_RTI 0x40
#define OPC6502_RTS 0x60
#define OPC6502_SBC_IMM 0xe9
#define OPC6502_SBC_ABS 0xed
#define OPC6502_SBC_ABSX 0xfd
#define OPC6502_SBC_ABSY 0xf9
#define OPC6502_SBC_ZP 0xe5
#define OPC6502_SBC_ZPX 0xf5
#define OPC6502_SBC_XIND 0xe1
#define OPC6502_SBC_INDY 0xf1
#define OPC6502_SEC 0x38
#define OPC6502_SED 0xf8
#define OPC6502_SEI 0x78
#define OPC6502_STA_ABS 0x8d
#define OPC6502_STA_ABSX 0x9d
#define OPC6502_STA_ABSY 0x99
#define OPC6502_STA_ZP 0x85
#define OPC6502_STA_ZPX 0x95
#define OPC6502_STA_XIND 0x81
#define OPC6502_STA_INDY 0x91
#define OPC6502_STX_ABS 0x8e
#define OPC6502_STX_ZP 0x86
#define OPC6502_STX_ZPY 0x96
#define OPC6502_STY_ABS 0x8c
#define OPC6502_STY_ZP 0x84
#define OPC6502_STY_ZPX 0x94
#define OPC6502_TAX 0xaa
#define OPC6502_TAY 0xa8
#define OPC6502_TSX 0xba
#define OPC6502_TXA 0x8a
#define OPC6502_TXS 0x9a
#define OPC6502_TYA 0x98
2012-08-16 20:29
Slammer

Registered: Feb 2004
Posts: 416
Here is a table which also includes DTV commands..
http://www.theweb.dk/docuprev/webhelp/cpt_BasicAssemblerFunctio..

If you use KickAssembler they are already in the assembler. Eg:
        lda #RTS
        sta target

You can read about it here: http://www.theweb.dk/docuprev/webhelp/ch11s02.html

EDIT: I have a simple java table with the definitions. You can have it if you need it. Its relatively simple to make a for loop and print it out in any format you want.
2012-08-16 20:43
Flavioweb

Registered: Nov 2011
Posts: 463
Here are all 256 opcodes...
BRK = $00
ORA_(zp,X) = $01
HALT = $02
ASL-ORA_(zp,X) = $03
NOP_zp = $04
ORA_zp = $05
ASL_zp = $06
ASL-ORA_zp = $07
PHP = $08
ORA_#n = $09
ASL_A = $0A
AND_#n/MOV_b7->Cy = $0B
NOP_abs = $0C
ORA_abs = $0D
ASL_abs = $0E
ASL-ORA_abs = $0F
BPL_rel = $10
ORA_(zp),Y = $11
HALT = $12
ASL-ORA_(zp),Y = $13
NOP_zp = $14
ORA_zp,X = $15
ASL_zp,X = $16
ASL-ORA_abs,X = $17
CLC = $18
ORA_abs,Y = $19
NOP = $1A
ASL-ORA_abs,Y = $1B
NOP_abs = $1C
ORA_abs,X = $1D
ASL_abs,X = $1E
ASL-ORA_abs,X = $1F
JSR_abs = $20
AND_(zp,X) = $21
HALT = $22
ROL-AND_(zp,X) = $23
BIT_zp = $24
AND_zp = $25
ROL_zp = $26
ROL-AND_zp = $27
PLP = $28
AND_#n = $29
ROL_A = $2A
AND_#n-MOV_b7->Cy___- = $2B
BIT_abs = $2C
AND_abs = $2D
ROL_abs = $2E
ROL-AND_abs = $2F
BMI_rel = $30
AND_(zp),Y = $31
HALT = $32
ROL-AND_(zp),Y = $33
NOP_zp = $34
AND_zp,X = $35
ROL_zp,X = $36
ROL-AND_zp,X = $37
SEC = $38
AND_abs,Y = $39
NOP = $3A
ROL-AND_abs,Y = $3B
NOP_abs = $3C
ORA_abs,X = $3D
ASL_abs,X = $3E
ROL-AND_abs,X = $3F
RTI = $40
EOR_(zp,X) = $41
HALT = $42
LSR-EOR_(zp,X) = $43
NOP_zp = $44
EOR_zp = $45
LSR_zp = $46
LSR-EOR_zp = $47
PHA = $48
EOR_#n = $49
LSR_A = $4A
AND_#n-LSR_A = $4B
JMP_abs = $4C
EOR_abs = $4D
LSR_abs = $4E
LSR-EOR_abs = $4F
BVC_rel = $50
EOR_(zp),Y = $51
HALT = $52
LSR-EOR_(zp),Y = $53
NOP_zp = $54
EOR_zp,X = $55
LSR_zp,X = $56
LSR-EOR_abs,X = $57
CLI = $58
EOR_abs,Y = $59
NOP = $5A
LSR-EOR_abs,Y = $5B
NOP_abs = $5C
EOR_abs,X = $5D
LSR_abs,X = $5E
LSR-EOR_abs,X = $5F
RTS = $60
ADC_(zp,X) = $61
HALT = $62
ROR-ADC_(zp,X) = $63
NOP_zp = $64
ADC_zp = $65
ROR_zp = $66
ROR-ADC_zp = $67
PLA = $68
ADC_#n = $69
ROR_A = $6A
AND_#n-ROR_A = $6B
JMP_(abs) = $6C
ADC_abs = $6D
ROR_abs = $6E
ROR-ADC_abs = $6F
BVS_rel = $70
ADC_(zp),Y = $71
HALT = $72
ROR-ADC_(zp),Y = $73
NOP_zp = $74
ADC_zp,X = $75
ROR_zp,X = $76
ROR-ADC_abs,X = $77
SEI = $78
ADC_abs,Y = $79
NOP = $7A
ROR-ADC_abs,Y = $7B
NOP_abs = $7C
ADC_abs,X = $7D
ROR_abs,X = $7E
ROR-ADC_abs,X = $7F
NOP_zp = $80
STA_(zp,X) = $81
HALT = $82
STA-STX_(zp,X) = $83
STY_zp = $84
STA_zp = $85
STX_zp = $86
STA-STX_zp = $87
DEY = $88
NOP_zp = $89
TXA = $8A
TXA-AND_#n = $8B
STY_abs = $8C
STA_abs = $8D
STX_abs = $8E
STA-STX_abs = $8F
BCC_rel = $90
STA_(zp),Y = $91
HALT = $92
STA-STX_(zp),Y = $93
STY_zp = $94
STA_zp,X = $95
STX_zp,Y = $96
STA-STX_zp,Y = $97
TYA = $98
STA_abs,Y = $99
TXS = $9A
STA-STX_abs,Y = $9B
STA-STX_abs,X = $9C
STA_abs,X = $9D
STA-STX_abs,X = $9E
STA-STX_abs,X = $9F
LDY_#n = $A0
LDA_(zp,X) = $A1
LDX_#n = $A2
LDA-LDX_(zp,X) = $A3
LDY_zp = $A4
LDA_zp = $A5
LDX_zp = $A6
LDA-LDX_zp = $A7
TAY = $A8
LDA_#n = $A9
TAX = $AA
LDA-LDX = $AB
LDY_abs = $AC
LDA_abs = $AD
LDX_abs = $AE
LDA-LDX_abs = $AF
BCS_rel = $B0
LDA_(zp),Y = $B1
HALT = $B2
LDA-LDX_(zp),Y = $B3
LDY_zp = $B4
LDA_zp,X = $B5
LDX_zp,Y = $B6
LDA-LDX_zp,Y = $B7
CLV = $B8
LDA_abs,Y = $B9
TSX = $BA
LDA-LDX_abs,Y = $BB
LDY_abs,X = $BC
LDA_abs,X = $BD
LDX_abs,Y = $BE
LDA-LDX_abs,Y = $BF
CPY_#n = $C0
CMP_(zp,X) = $C1
HALT = $C2
DEC-CMP_(zp,X) = $C3
CPY_zp = $C4
CMP_zp = $C5
DEC_zp = $C6
DEC-CMP_zp = $C7
INY = $C8
CMP_#n = $C9
DEX = $CA
SBX_#n = $CB
CPY_abs = $CC
CMP_abs = $CD
DEC_abs = $CE
DEC-CMP_abs = $CF
BNE_rel = $D0
CMP_(zp),Y = $D1
HALT = $D2
DEC-CMP_(zp),Y = $D3
NOP_zp = $D4
CMP_zp,X = $D5
DEC_zp,X = $D6
DEC-CMP_zp,X = $D7
CLD = $D8
CMP_abs,Y = $D9
NOP = $DA
DEC-CMP_abs,Y = $DB
NOP_abs = $DC
CMP_abs,X = $DD
DEC_abs,X = $DE
DEC-CMP_abs,X = $DF
CPX_#n = $E0
SBC_(zp,X) = $E1
HALT = $E2
INC-SBC_(zp,X) = $E3
CPX_zp = $E4
SBC_zp = $E5
INC_zp = $E6
INC-SBC_zp = $E7
INX = $E8
SBC_#n = $E9
NOP = $EA
SBC_#n = $EB
CPX_abs = $EC
SBC_abs = $ED
INC_abs = $EE
INC-SBC_abs = $EF
BEQ_rel = $F0
SBC_(zp),Y = $F1
HALT = $F2
INC-SBC_(zp),Y = $F3
NOP_zp = $F4
SBC_zp,X = $F5
INC_zp,X = $F6
INC-SBC_zp,X = $F7
SED = $F8
SBC_abs,Y = $F9
NOP = $FA
INC-SBC_abs,Y = $FB
NOP_abs = $FC
SBC_abs,X = $FD
INC_abs,X = $FE
INC-SBC_abs,X = $FF
2012-08-16 21:21
TWW

Registered: Jul 2009
Posts: 545
Try:

Kickassembler Manual Chapter 10.2
2012-08-17 11:48
Skate

Registered: Jul 2003
Posts: 494
I've coded a 6510 disassembler this year which works but has many missing features. I'm planning to release the tool in the future. It's not even in alpha stage so i'm not gonna share the tool or the complete source codes but opcodes part might be useful to some of you. It took a few hours to complete the opcode list with some of their required parameters. i may need more properties in the future but since it's not an emulator but a disassembler, it covers my needs as it is.

http://www.akaydin.com/misc_files/6510OpCodes.zip

p.s: it's a C++/CLI project, not a native one.
2012-08-17 14:39
Monte Carlos

Registered: Jun 2004
Posts: 359
@Flavio: That seems again treatable by search and replace, but there are some inconsistencies with grahams table and the naming of the illegals may be misleading. For example cyclewise NOP $nn =/ NOP #nn although the result is no operation in both cases. Also STA-STX is sometimes SAX and sometimes TAS, when looking in Grahams table.
I don't want to complain, it's still easier to use your table as a base and work in the differences instead of creating the whole table from scratch.
Anyway, thank you for your effort!
I will post the new table, which will be in accordance to grahams table, soon.

Monte Carlos
2012-08-17 20:56
Flavioweb

Registered: Nov 2011
Posts: 463
Quote: @Flavio: That seems again treatable by search and replace, but there are some inconsistencies with grahams table and the naming of the illegals may be misleading. For example cyclewise NOP $nn =/ NOP #nn although the result is no operation in both cases. Also STA-STX is sometimes SAX and sometimes TAS, when looking in Grahams table.
I don't want to complain, it's still easier to use your table as a base and work in the differences instead of creating the whole table from scratch.
Anyway, thank you for your effort!
I will post the new table, which will be in accordance to grahams table, soon.

Monte Carlos


I think also Skate files posted may be very useful for you. joining all infos here, i think you can achieve what you need...
2012-08-22 15:25
Monte Carlos

Registered: Jun 2004
Posts: 359
The new lists can be found here:

http://www.codebase64.org/doku.php?id=illegalmnemonicslist
and here:
http://www.codebase64.org/doku.php?id=legalmnemonicslist

The lists posted here contained some errors. So please refer to the Codebase entries, if you need the symbol definitions.
Previous - 1 | 2 - Next
RefreshSubscribe to this thread:

You need to be logged in to post in the forum.

Search the forum:
Search   for   in  
All times are CET.
Search CSDb
Advanced
Users Online
sln.pixelrat
Guests online: 104
Top Demos
1 Next Level  (9.7)
2 13:37  (9.7)
3 Mojo  (9.7)
4 Coma Light 13  (9.6)
5 Edge of Disgrace  (9.6)
6 What Is The Matrix 2  (9.6)
7 The Demo Coder  (9.6)
8 Uncensored  (9.6)
9 Comaland 100%  (9.6)
10 Wonderland XIV  (9.6)
Top onefile Demos
1 No Listen  (9.6)
2 Layers  (9.6)
3 Cubic Dream  (9.6)
4 Party Elk 2  (9.6)
5 Copper Booze  (9.6)
6 Dawnfall V1.1  (9.5)
7 Rainbow Connection  (9.5)
8 Onscreen 5k  (9.5)
9 Morph  (9.5)
10 Libertongo  (9.5)
Top Groups
1 Performers  (9.3)
2 Booze Design  (9.3)
3 Oxyron  (9.3)
4 Triad  (9.3)
5 Censor Design  (9.3)
Top Fullscreen Graphicians
1 Joe  (9.7)
2 Sulevi  (9.6)
3 The Sarge  (9.6)
4 Veto  (9.6)
5 Facet  (9.6)

Home - Disclaimer
Copyright © No Name 2001-2024
Page generated in: 0.198 sec.