SPC-700 mnemonics listed in opcode order.
if you notice any errors or something is missing, please
send me email to vhelin[at]cc.hut.fi.
x = 8bit
? = 16bit
~ = direct page (affects the opcode)
$00 "NOP"
$01 "TCALL ~"
$02 "CLR1 x,~"
$02 "CLR1 x.~"
$02 "SET1 x,~"
$02 "SET1 x.~"
$03 "BBC x.~,x"
$03 "BBS x.~,x"
$04 "OR A,x"
$05 "OR A,!?"
$06 "OR A,(X)"
$07 "OR A,[x+X]"
$08 "OR A,#x"
$09 "OR x,x"
$0a "OR1 C,x.x"
$0b "ASL x"
$0c "ASL !?"
$0d "PUSH PSW"
$0e "TSET1 !?"
$0f "BRK"
$10 "BPL x"
$14 "OR A,x+X"
$15 "OR A,!?+X"
$16 "OR A,!?+Y"
$17 "OR A,[x]+Y"
$18 "OR x,#x"
$19 "OR (X),(Y)"
$1a "DECW x"
$1b "ASL x+X"
$1c "ASL A"
$1d "DEC X"
$1e "CMP X,!?"
$1f "JMP [!?+X]"
$20 "CLRP"
$24 "AND A,x"
$25 "AND A,!?"
$26 "AND A,(X)"
$27 "AND A,[x+X]"
$28 "AND A,#x"
$29 "AND x,x"
$2a "OR1 C,/x.x"
$2b "ROL x"
$2c "ROL !?"
$2d "PUSH A"
$2e "CBNE x,x"
$2f "BRA x"
$30 "BMI x"
$34 "AND A,x+X"
$35 "AND A,!?+X"
$36 "AND A,!?+Y"
$37 "AND A,[x]+Y"
$38 "AND x,#x"
$39 "AND (X),(Y)"
$3a "INCW x"
$3b "ROL x+X"
$3c "ROL A"
$3d "INC X"
$3e "CMP X,x"
$3f "CALL !?"
$40 "SETP"
$44 "EOR A,x"
$45 "EOR A,!?"
$46 "EOR A,(X)"
$47 "EOR A,[x+X]"
$48 "EOR A,#x"
$49 "EOR x,x"
$4a "AND1 C,x.x"
$4b "LSR x"
$4c "LSR !?"
$4d "PUSH X"
$4e "TCLR1 !?"
$4f "PCALL x"
$50 "BVC x"
$54 "EOR A,x+X"
$55 "EOR A,!?+X"
$56 "EOR A,!?+Y"
$57 "EOR A,[x]+Y"
$58 "EOR x,#x"
$59 "EOR (X),(Y)"
$5a "CMPW YA,x"
$5b "LSR x+X"
$5c "LSR A"
$5d "MOV X,A"
$5e "CMP Y,!?"
$5f "JMP !?"
$60 "CLRC"
$64 "CMP A,x"
$65 "CMP A,!?"
$66 "CMP A,(X)"
$67 "CMP A,[x+X]"
$68 "CMP A,#x"
$69 "CMP x,x"
$6a "AND1 C,/x.x"
$6b "ROR x"
$6c "ROR !?"
$6d "PUSH Y"
$6e "DBNZ x,x"
$6f "RET"
$70 "BVS x"
$74 "CMP A,x+X"
$75 "CMP A,!?+X"
$76 "CMP A,!?+Y"
$77 "CMP A,[x]+Y"
$78 "CMP x,#x"
$79 "CMP (X),(Y)"
$7a "ADDW YA,x"
$7b "ROR x+X"
$7c "ROR A"
$7d "MOV A,X"
$7e "CMP Y,x"
$7f "RET1"
$80 "SETC"
$84 "ADC A,x"
$85 "ADC A,!?"
$86 "ADC A,(X)"
$87 "ADC A,[x+X]"
$88 "ADC A,#x"
$89 "ADC x,x"
$8a "EOR1 C,x.x"
$8b "DEC x"
$8c "DEC !?"
$8d "MOV Y,#x"
$8e "POP PSW"
$8f "MOV x,#x"
$90 "BCC x"
$94 "ADC A,x+X"
$95 "ADC A,!?+X"
$96 "ADC A,!?+Y"
$97 "ADC A,[x]+Y"
$98 "ADC x,#x"
$99 "ADC (X),(Y)"
$9a "SUBW YA,x"
$9b "DEC x+X"
$9c "DEC A"
$9d "MOV X,SP"
$9e "DIV YA,X"
$9f "XCN A"
$a0 "EI"
$a4 "SBC A,x"
$a5 "SBC A,!?"
$a6 "SBC A,(X)"
$a7 "SBC A,[x+X]"
$a8 "SBC A,#x"
$a9 "SBC x,x"
$aa "MOV1 C,x.x"
$ab "INC x"
$ac "INC !?"
$ad "CMP Y,#x"
$ae "POP A"
$af "MOV (X)+,A"
$b0 "BCS x"
$b4 "SBC A,x+X"
$b5 "SBC A,!?+X"
$b6 "SBC A,!?+Y"
$b7 "SBC A,[x]+Y"
$b8 "SBC x,#x"
$b9 "SBC (X),(Y)"
$ba "MOVW YA,x"
$bb "INC x+X"
$bc "INC A"
$bd "MOV SP,X"
$be "DAS"
$be "DAS A"
$bf "MOV A,(X)+"
$c0 "DI"
$c4 "MOV x,A"
$c5 "MOV !?,A"
$c6 "MOV (X),A"
$c7 "MOV [x+X],A"
$c8 "CMP X,#x"
$c9 "MOV !?,X"
$ca "AND1 x.x,C"
$cb "MOV x,Y"
$cc "MOV !?,Y"
$cd "MOV X,#x"
$ce "POP X"
$cf "MUL YA"
$d0 "BNE x"
$d4 "MOV x+X,A"
$d5 "MOV !?+X,A"
$d6 "MOV !?+Y,A"
$d7 "MOV [x]+Y,A"
$d8 "MOV x,X"
$d9 "MOV x+Y,X"
$da "MOVW x,YA"
$db "MOV x+X,Y"
$dc "DEC Y"
$dd "MOV A,Y"
$de "CBNE x+X,x"
$df "DAA"
$df "DAA A"
$e0 "CLRV"
$e4 "MOV A,x"
$e5 "MOV A,!?"
$e6 "MOV A,(X)"
$e7 "MOV A,[x+X]"
$e8 "MOV A,#x"
$e9 "MOV X,!?"
$ea "NOT1 x.x"
$eb "MOV Y,x"
$ec "MOV Y,!?"
$ed "NOTC"
$ee "POP Y"
$ef "SLEEP"
$f0 "BEQ x"
$f4 "MOV A,x+X"
$f5 "MOV A,!?+X"
$f6 "MOV A,!?+Y"
$f7 "MOV A,[x]+Y"
$f8 "MOV X,x"
$f9 "MOV X,x+Y"
$fa "MOV x,x"
$fb "MOV Y,x+X"
$fc "INC Y"
$fd "MOV Y,A"
$fe "DBNZ Y,x"
$ff "STOP"