Document Number: 001-66502 Rev. *C Page 16 of 69
Instruction Set Summary
The instruction set is summarized in Table 20 numerically and serves as a quick reference. If more information is needed, the
Instruction Set Summary tables are described in detail in the PSoC Designer Assembly Language User Guide (available on
www.cypress.com).
Table 20. Instruction Set Summary Sorted Numerically by Opcode Order[1, 2]
Opcode Hex
Cycles
Bytes
Instruction Format Flags
Opcode Hex
Cycles
Bytes
Instruction Format Flags
Opcode Hex
Cycles
Bytes
Instruction Format Flags
00 15 1SSC 2D 8 2 OR [X+expr], A Z5A 5 2MOV [expr], X
01 4 2 ADD A, expr C, Z 2E 9 3 OR [expr], expr Z5B 4 1MOV A, X Z
02 6 2 ADD A, [expr] C, Z 2F 10 3OR [X+expr], expr Z5C 4 1MOV X, A
03 7 2 ADD A, [X+expr] C, Z 30 9 1HALT 5D 6 2MOV A, reg[expr] Z
04 7 2 ADD [expr], A C, Z 31 4 2XOR A, expr Z5E 7 2MOV A, reg[X+expr] Z
05 8 2 ADD [X+expr] , A C, Z 32 6 2XOR A, [expr] Z5F 10 3MOV [expr], [expr]
06 9 3 ADD [exp r], expr C, Z 33 7 2XOR A, [X+expr] Z60 5 2MOV reg[expr], A
07 10 3ADD [X+expr], expr C, Z 34 7 2XOR [expr], A Z61 6 2MOV reg[X+expr], A
08 4 1PUSH A 35 8 2XOR [X+expr], A Z62 8 3MOV reg[expr], expr
09 4 2 ADC A, expr C, Z 36 9 3XOR [expr], expr Z63 9 3MOV reg[X+ expr], expr
0A 6 2 ADC A, [expr] C, Z 37 10 3XOR [X+expr], expr Z64 4 1ASL A C, Z
0B 7 2 ADC A, [X+expr] C, Z 38 5 2ADD SP, expr 65 7 2ASL [expr] C, Z
0C 7 2 ADC [expr], A C, Z 39 5 2C MP A, expr if (A=B) Z=1
if (A<B) C=1 66 8 2ASL [X+expr] C, Z
0D 8 2 ADC [X+expr] , A C, Z 3A 7 2CMP A, [expr] 67 4 1ASR A C, Z
0E 9 3 ADC [exp r], expr C, Z 3B 8 2CMP A, [X+expr ] 68 7 2ASR [expr] C, Z
0F 10 3ADC [X+expr], expr C, Z 3C 8 3CMP [exp r ], ex pr 69 8 2ASR [X+ex pr] C, Z
10 4 1PUSH X 3D 9 3CMP [X+expr] , exp r 6A 4 1RLC A C, Z
11 4 2SUB A, expr C, Z 3E 10 2MVI A, [ [expr]++ ] Z6B 7 2RLC [expr] C, Z
12 6 2SUB A, [expr] C, Z 3F 10 2MVI [ [expr]++ ], A 6C 8 2RLC [X+expr] C, Z
13 7 2SUB A, [X+expr] C, Z 40 4 1NOP 6D 4 1RRC A C, Z
14 7 2SUB [expr], A C, Z 41 9 3AND reg[expr], expr Z6E 7 2RRC [expr] C, Z
15 8 2SUB [X+expr], A C, Z 42 10 3AND reg[X+expr], expr Z6F 8 2RRC [X+expr] C, Z
16 9 3SUB [expr], expr C, Z 43 9 3OR reg[expr], expr Z70 4 2AND F, expr C, Z
17 10 3SUB [X+expr], expr C, Z 44 10 3OR reg[X+expr], expr Z71 4 2OR F, expr C, Z
18 5 1POP A Z45 9 3XOR reg[expr], expr Z72 4 2XOR F, expr C, Z
19 4 2SBB A, expr C, Z 46 10 3XOR reg[X+expr], expr Z73 4 1CPL A Z
1A 6 2SBB A, [expr] C, Z 47 8 3TST [expr], e xp r Z74 4 1INC A C, Z
1B 7 2SBB A, [X+expr] C, Z 48 9 3TST [X+expr], expr Z75 4 1INC X C, Z
1C 7 2SBB [expr], A C, Z 49 9 3TST reg[expr], expr Z76 7 2INC [expr] C, Z
1D 8 2SBB [X+expr], A C, Z 4A 10 3TST reg[X+expr], expr Z77 8 2INC [X+expr] C, Z
1E 9 3SBB [expr], expr C, Z 4B 5 1SWAP A, X Z78 4 1DEC A C, Z
1F 10 3SBB [X+expr], expr C, Z 4C 7 2SWA P A, [expr] Z79 4 1DEC X C, Z
20 5 1POP X 4D 7 2SWAP X, [expr] 7A 7 2DEC [expr] C, Z
21 4 2AND A, expr Z4E 5 1SWAP A, SP Z7B 8 2DEC [X+expr] C, Z
22 6 2AND A, [expr] Z4F 4 1 MOV X, SP 7C 13 3LCALL
23 7 2AND A, [X+expr] Z50 4 2 MOV A, expr Z7D 7 3 LJMP
24 7 2AND [expr], A Z51 5 2 MOV A, [expr] Z7E 10 1RETI C, Z
25 8 2AND [X+expr], A Z52 6 2 MOV A, [X+expr] Z7F 8 1RET
26 9 3AND [expr], expr Z53 5 2 MOV [expr], A 8x 5 2 JMP
27 10 3AND [X+expr], expr Z54 6 2 MOV [X+expr], A 9x 11 2CALL
28 11 1ROMX Z55 8 3MOV [expr], expr Ax 5 2 JZ
29 4 2OR A, expr Z56 9 3MOV [X+expr], expr Bx 5 2 JNZ
2A 6 2OR A, [expr] Z57 4 2MOV X, expr Cx 5 2 JC
2B 7 2OR A, [X+expr] Z58 6 2MOV X, [expr] Dx 5 2 JNC
2C 7 2 OR [expr], A Z59 7 2MOV X, [X+expr] Ex 7 2 JACC
Fx 13 2INDEX Z
Notes
1. Interrupt routines take 13 cycles before execution resumes at interrupt vector table.
2. The number of cycles required by an instruction is increased by one for instructions that span 256-byte boundaries in the Flash memory space.