2 addressing modes, 1 source immediate, 2 source direct – Cypress enCoRe CY7C602xx User Manual
Page 10: 3 source indexed, 4 destination direct
CY7C601xx, CY7C602xx
Document 38-16016 Rev. *E
Page 10 of 68
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.
Examples
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.
Examples
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.
Examples
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.
Examples
Table 9-7. Source Immediate
Opcode
Operand 1
Instruction
Immediate Value
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.
Table 9-8. Source Direct
Opcode
Operand 1
Instruction
Source Address
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.
Table 9-9. Source Indexed
Opcode
Operand 1
Instruction
Source Index
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.
Table 9-10. Destination Direct
Opcode
Operand 1
Instruction
Destination Address
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.