8XC251SA, SB, SP, SQ USER’S MANUAL
5-8
5.3.1.5
Displacement
Several move instructions use displacement addressing to move bytes or words from a source to
a destination. Sixteen-bit displacement addressing (@WRj+dis16) accesses indirectly the lowest
64 Kbytes in memory. The base address can be in any word register WRj. The instruction contains
a 16-bit signed offset which is added to the base address. Only the lowest 16 bits of the sum are
used to compute the operand address. If the sum of the base address and a positive offset exceeds
FFFFH, the computed address wraps around within region 00: (e.g. F000H + 2005H becomes
1005H). Similarly, if the sum of the base address and a negative offset is less than zero, the com-
puted address wraps around the top of region 00: (e.g., 2005H + F000H becomes 1005H).
Twenty-four-bit displacement addressing (@DRk+dis24) accesses indirectly the entire 16-Mbyte
address space. The base address must be in DR0, DR4, ..., DR24, DR28, DR56, or DR60. The
upper byte in the dword register must be zero. The instruction contains a 16-bit signed offset
which is added to the base address.
5.3.2
Arithmetic Instructions
The set of arithmetic instructions is greatly expanded in the MCS 251 architecture. The ADD and
SUB instructions (Table A-19 on page A-14) operate on byte and word data that is accessed in
several ways:
•
as the contents of the accumulator, a byte register (Rn), or a word register (WRj)
•
in the instruction itself (immediate data)
•
in memory via direct or indirect addressing
The ADDC and SUBB instructions (Table A-19) are the same as those for MCS 51 microcontrol-
lers.
The CMP (compare) instruction (Table A-20 on page A-15) calculates the difference of two bytes
or words and then writes to flags CY, OV, AC, N, and Z in the PSW and PSW1 registers. The
difference is not stored. The operands can be addressed in a variety of modes. The most frequent
use of CMP is to compare data or addresses preceding a conditional jump instruction.
Table A-21 on page A-16 lists the INC (increment) and DEC (decrement) instructions. The in-
structions for MCS 51 microcontrollers are supplemented by instructions that can address byte,
word, and dword registers and increment or decrement them by 1, 2, or 4 (denoted by #short).
These instructions are supplied primarily for register-based address pointers and loop counters.
Summary of Contents for 8XC251SA
Page 2: ......
Page 3: ...May 1996 8XC251SA 8XC251SB 8XC251SP 8XC251SQ Embedded Microcontroller User s Manual...
Page 18: ......
Page 19: ...1 Guide to This Manual...
Page 20: ......
Page 30: ......
Page 31: ...2 Architectural Overview...
Page 32: ......
Page 41: ...3 Address Spaces...
Page 42: ......
Page 63: ...4 Device Configuration...
Page 64: ......
Page 81: ...5 Programming...
Page 82: ......
Page 102: ......
Page 103: ...6 Interrupt System...
Page 104: ......
Page 120: ......
Page 121: ...7 Input Output Ports...
Page 122: ......
Page 132: ......
Page 133: ...8 Timer Counters and Watchdog Timer...
Page 134: ......
Page 153: ...9 Programmable Counter Array...
Page 154: ......
Page 170: ......
Page 171: ...10 Serial I O Port...
Page 172: ......
Page 187: ...11 Minimum Hardware Setup...
Page 188: ......
Page 197: ...12 Special Operating Modes...
Page 198: ......
Page 206: ......
Page 207: ...13 External Memory Interface...
Page 208: ......
Page 239: ...14 Programming and Verifying Nonvolatile Memory...
Page 240: ......
Page 250: ......
Page 251: ...A Instruction Set Reference...
Page 252: ......
Page 390: ......
Page 391: ...B Signal Descriptions...
Page 392: ......
Page 400: ......
Page 401: ...C Registers...
Page 402: ......
Page 436: ......
Page 437: ...Glossary...
Page 438: ......
Page 446: ......
Page 447: ...Index...
Page 448: ......
Page 458: ......