credit to ice guy, not me!! this is ice guy's notes im using! organixed on smwiki http://www.smwiki.net/wiki/65c816_instructions LDA -> Load Data to Accumulator. Load a value into the game. E.g. LDA #$2C or LDA $7E STA -> Store whatever data was loaded into the Accumulator. E.g. STA $13CC CMP -> CoMPare. Compare a value with A. E.g. LDA $14AF CMP $01 BEQ -> Branch if value in Accumulator is equal. Use a symbol right after it. BNE -> Branch if value in Accumulator is not equal. Use a symbol right after it. BCC -> Branch if value in Accumulator is less than or equal to what is compared. Use a symbol right after it. BCS -> Branch if value in Accumulator is more than equal to what is compared. Use a symbol right after it. BMI -> Branches if A is negative (80-FF). BPL -> Branches if A is positive (00-7F). BRA -> Always will branch, no matter what the values are. No CMP needed before it. SEC -> Command used to subtract. Use SBC right after it. SBC -> Right a value (in # or #$) to subtract it from the value in Accumulator. CLC -> Command used to add. Use ADC right after it. ADC -> Adds a certain amount to A (remember to use STA to store the new value). INC -> Increase a value by one only. DEC -> Decrease a value by one only. STZ -> Set whatever address into it to zero. E.g. STZ $0DBF TAX -> Put A into X TAY -> Put A into Y TXA -> Put X into A TYA -> Put Y into A TXY -> Put X into Y TYX -> Put Y into X JSL -> Jumps to a routine then follows whatever code is after it after the routine ends. RTL must be used here. JSR -> Same as above, but RTS is used. CPX -> Compare in the X register CPY -> Compare in the Y register RTL -> Used to end a code (after a JSL). RTS -> Used to end a code (after a JSR). REP -> Go into 16-bit mode. SEP -> Go back into 8-bit mode. INX -> Increment X by 1 INY -> Increment Y by 1 DEX -> Decrement X by 1 DEY -> Decrement Y by 1. BRK -> Useless, crashes the ROM. STP -> Freezes the game. PLX -> Pull X PLA -> Pull A PLY -> Pull Y PHX -> Push/Preserve X PHY -> Push/Preserve Y PHA -> Push/Preserve A LDX -> Load into X LDY -> Load into Y STX -> Store into X STY -> Store into Y JSR -> Same as JSL, but RTS is used to end the code JMP -> Jump to a label in the code (JMP label). JML -> Same as JMP, but can branch if the address is in a different bank. XBA -> Flips the value in A. (e.g if a = $1815 XBA makes it 1518). ORA -> Used to set bits (e.g ORA #$80 sets the last bit) Also check if mutliple RAM Address are the same value (e.g. LDA $75 ORA $85 BEQ BothZero) TSB - Much easier way of setting bits. LDA #$80 ;set bit 7 TSB $85 ; to RAM Address $85 TRB - Basically, the opposite of TSB. It will clear a bit. LDA #$80 TRB $1F2C will clear bit 8 of $1F2C.