
CY7C601xx, CY7C602xx
9.2 Addressing Modes
9.2.1 Source Immediate
The result of an instruction using this addressing mode is placed in the A register, the F register, the SP register, or the X register, which is specified as part of the instruction opcode. Operand 1 is an immediate value that serves as a source for the instruction. Arithmetic instructions require two sources; the second source is the A, X, SP, or F register specified in the opcode. Instructions using this addressing mode are two bytes in length.
Table 9-7. Source Immediate
| Opcode |
| Operand 1 | |
Instruction |
|
| Immediate Value | |
|
|
|
| |
Examples |
|
|
| |
ADD | A, | 7 | ;In this case, the immediate value of 7 is added | |
|
|
| with the Accumulator and the result is placed in | |
|
|
| the Accumulator. | |
MOV | X, | 8 | ;In this case, the immediate value of 8 is moved | |
|
|
| to the X register. | |
AND | F, | 9 | ;In this case, the immediate value of 9 is logically | |
|
|
| ANDed with the F register and the result is placed | |
|
|
| in the F register. |
9.2.3 Source Indexed
The result of an instruction using this addressing mode is placed in either the A register or the X register, which is specified as part of the instruction opcode. Operand 1 is added to the X register forming an address that points to a location in either the RAM memory space or the register space that is the source for the instruction. Arithmetic instructions require two sources; the second source is the A register or X register specified in the opcode. Instructions using this addressing mode are two bytes in length.
Table 9-9. Source Indexed
| Opcode | Operand 1 | |
Instruction |
| Source Index | |
|
|
| |
Examples |
|
| |
ADD | A, | [X+7] | ;In this case, the value in the memory |
|
|
| location at address X + 7 is added with |
|
|
| the Accumulator, and the result is |
|
|
| placed in the Accumulator. |
MOV | X, | REG[X+8] | ;In this case, the value in the register |
|
|
| space at address X + 8 is moved to the |
|
|
| X register. |
9.2.2 Source Direct
The result of an instruction using this addressing mode is placed in either the A register or the X register, which is specified as part of the instruction opcode. Operand 1 is an address that points to a location in either the RAM memory space or the register space that is the source for the instruction. Arithmetic instructions require two sources; the second source is the A register or X register specified in the opcode. Instructions using this addressing mode are two bytes in length.
Table 9-8. Source Direct
| Opcode | Operand 1 | |
Instruction |
| Source Address | |
|
|
| |
Examples |
|
| |
ADD | A, | [7] | ;In this case, the value in the RAM |
|
|
| memory location at address 7 is added |
|
|
| with the Accumulator, and the result is |
|
|
| placed in the Accumulator. |
MOV | X, | REG[8] | ;In this case, the value in the register |
|
|
| space at address 8 is moved to the X |
|
|
| register. |
9.2.4 Destination Direct
The result of an instruction using this addressing mode is placed within either the RAM memory space or the register space. Operand 1 is an address that points to the location of the result. The source for the instruction is either the A register or the X register, which is specified as part of the instruction opcode. Arithmetic instructions require two sources; the second source is the location specified by Operand 1. Instructions using this addressing mode are two bytes in length.
Table 9-10. Destination Direct
| Opcode |
| Operand 1 |
Instruction |
| Destination Address | |
|
|
| |
Examples |
|
| |
ADD | [7], | A | ;In this case, the value in the memory |
|
|
| location at address 7 is added with the |
|
|
| Accumulator, and the result is placed |
|
|
| in the memory location at address 7. |
|
|
| The Accumulator is unchanged. |
MOV | REG[8], | A | ;In this case, the Accumulator is |
|
|
| moved to the register space location at |
|
|
| address 8. The Accumulator is |
|
|
| unchanged. |
Document | Page 10 of 68 |
[+] Feedback