cop8tac9 National Semiconductor Corporation, cop8tac9 Datasheet - Page 47

no-image

cop8tac9

Manufacturer Part Number
cop8tac9
Description
8-bit Cmos Flash Microcontroller With 2k Byte Or 4k Byte Memory
Manufacturer
National Semiconductor Corporation
Datasheet
19.0 Instruction Set
erand addressing modes and transfer-of-control addressing
modes. Operand addressing modes are the various meth-
ods of specifying an address for accessing (reading or writ-
ing) data. Transfer-of-control addressing modes are used in
conjunction with jump instructions to control the execution
sequence of the software program.
19.3.1 Operand Addressing Modes
The operand of an instruction specifies what memory loca-
tion is to be affected by that instruction. Several different
operand addressing modes are available, allowing memory
locations to be specified in a variety of ways. An instruction
can specify an address directly by supplying the specific
address, or indirectly by specifying a register pointer. The
contents of the register (or in some cases, two registers)
point to the desired memory location. In the immediate
mode, the data byte to be used is contained in the instruction
itself.
Each addressing mode has its own advantages and disad-
vantages with respect to flexibility, execution speed, and
program compactness. Not all modes are available with all
instructions. The Load (LD) instruction offers the largest
number of addressing modes.
The available addressing modes are:
The addressing modes are described below. Each descrip-
tion includes an example of an assembly language instruc-
tion using the described addressing mode.
Direct. The memory address is specified directly as a byte in
the instruction. In assembly language, the direct address is
written as a numerical value (or a label that has been defined
elsewhere in the program as a numerical value).
Example: Load Accumulator Memory Direct
Register B or X Indirect. The memory address is specified
by the contents of the B Register or X register (pointer
register). In assembly language, the notation [B] or [X] speci-
fies which register serves as the pointer.
Example: Exchange Memory with Accumulator, B Indirect
• Direct
• Register B or X Indirect
• Register B or X Indirect with Post-Incrementing/
• Immediate
• Immediate Short
• Indirect from Program Memory
Decrementing
Memory Location
Memory Location
Accumulator
Accumulator
LD A,05
X A,[B]
Reg/Data
0005 Hex
Reg/Data
0005 Hex
B Pointer
Memory
Memory
Contents
Contents
XX Hex
A6 Hex
Before
Before
01 Hex
87 Hex
05 Hex
(Continued)
Contents
Contents
A6 Hex
A6 Hex
87 Hex
01 Hex
05 Hex
After
After
47
Register B or X Indirect with Post-Incrementing/
Decrementing. The relevant memory address is specified
by the contents of the B Register or X register (pointer
register). The pointer register is automatically incremented
or decremented after execution, allowing easy manipulation
of memory blocks with software loops. In assembly lan-
guage, the notation [B+], [B−], [X+], or [X−] specifies which
register serves as the pointer, and whether the pointer is to
be incremented or decremented.
Example: Exchange Memory with Accumulator, B Indirect
Intermediate. The data for the operation follows the instruc-
tion opcode in program memory. In assembly language, the
number sign character (#) indicates an immediate operand.
Example: Load Accumulator Immediate
Immediate Short. This is a special case of an immediate
instruction. In the “Load B immediate” instruction, the 4-bit
immediate value in the instruction is loaded into the lower
nibble of the B register. The upper nibble of the B register is
reset to 0000 binary.
Example: Load B Register Immediate Short
Indirect from Program Memory. This is a special case of
an indirect instruction that allows access to data tables
stored in program memory. In the “Load Accumulator Indi-
rect” (LAID) instruction, the upper and lower bytes of the
Program Counter (PCU and PCL) are used temporarily as a
pointer to program memory. For purposes of accessing pro-
gram memory, the contents of the Accumulator and PCL are
exchanged. The data pointed to by the Program Counter is
loaded into the Accumulator, and simultaneously, the original
contents of PCL are restored so that the program can re-
sume normal execution.
Example: Load Accumulator Indirect
Memory Location
Memory Location
Accumulator
Accumulator
Accumulator
with Post-Increment
X A,[B+]
LD A,#05
LD B,#7
LAID
Reg/Data
0005 Hex
Reg/Data
Reg/Data
Reg/Data
041F Hex
B Pointer
B Pointer
Memory
Memory
Memory
Memory
PCU
PCL
Contents
Contents
12 Hex
Before
XX Hex
Before
Contents
Contents
03 Hex
62 Hex
05 Hex
04 Hex
35 Hex
1F Hex
25 Hex
Before
Before
Contents
Contents
07 Hex
05 Hex
Contents
After
Contents
After
62 Hex
03 Hex
06 Hex
04 Hex
36 Hex
25 Hex
25 Hex
After
After
www.national.com

Related parts for cop8tac9