8XC251SA, SB, SP, SQ USER’S MANUAL
4-14
Figure 4-7 shows the opcode map for binary mode. Area I (columns 1 through 5 in Table A-6 on
page A-4) and area II (columns 6 through F) make up the opcode map for the instructions that
originate in the MCS 51 architecture. Area III in Figure 4-7 represents the opcode map for the
instructions that are unique to the MCS 251 architecture (Table A-7 on page A-5). Note that some
of these opcodes are reserved for future instructions. The opcode values for areas II and III are
identical (06H–FFH). To distinguish between the two areas in binary mode, the opcodes in area
III are given the prefix A5H. The area III opcodes are thus A506H–A5FFH.
Figure 4-8 shows the opcode map for source mode. Areas II and III have switched places (com-
pare with Figure 4-7). In source mode, opcodes for instructions in area II require the A5F escape
prefix while opcodes for instructions in area III (MCS 251 architecture) do not.
To illustrate the difference between the binary-mode and source-mode opcodes, Table 4-4 shows
the opcode assignments for three sample instructions.
4.6.1
Selecting Binary Mode or Source Mode
If you have code that was written for an MCS 51 microcontroller and you want to run it unmod-
ified on an MCS 251 microcontroller, choose binary mode. You can use the object code without
reassembling the source code. You can also assemble the source code with an assembler for the
MCS 251 architecture and have it produce object code that is binary-compatible with MCS 51
microcontrollers. The remainder of this section discusses the selection of binary mode or source
mode for code that may contain instructions from both architectures.
An instruction with a prefixed opcode requires one more byte for code storage, and if an addition-
al fetch is required for the extra byte, the execution time is increased by one state. This means that
using fewer prefixed opcodes produces more efficient code.
If a program uses only instructions from the MCS 51 architecture, the binary-mode code is more
efficient because it uses no prefixes. On the other hand, if a program uses many more new instruc-
tions than instructions from the MCS 51 architecture, source mode is likely to produce more ef-
ficient code. For a program where the choice is not clear, the better mode can be found by
experimenting with a simulator.
Table 4-4. Examples of Opcodes in Binary and Source Modes
Instruction
Opcode
Binary Mode
Source Mode
DEC A
14H
14H
SUBB A,R4
9CH
A59CH
SUB R4,R4
A59CH
9CH
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: ......