user manual

5-5
PROGRAMMING
5.3.1.1 Register Addressing
Both architectures address registers directly.
MCS 251 architecture. In the register addressing mode, the operand(s) in a data instruction
are in byte registers (R0–R15), word registers (WR0, WR2, ..., WR30), or dword registers
(DR0, DR4, ..., DR28, DR56, DR60).
MCS 51 architecture. Instructions address registers R0–R7 only.
5.3.1.2 Immediate
Both architectures use immediate addressing.
MCS 251 architecture. In the immediate addressing mode, the instruction contains the data
operand itself. Byte operations use 8-bit immediate data (#data); word operations use 16-bit
immediate data (#data16). Dword operations use 16-bit immediate data in the lower word,
and either zeros in the upper word (denoted by #0data16), or ones in the upper word
(denoted by #1data16). MOV instructions that place 16-bit immediate data into a dword
register (DRk), place the data either into the upper word while leaving the lower word
unchanged, or into the lower word with a sign extension or a zero extension.
The increment and decrement instructions contain immediate data (#short = 1, 2, or 4) that
specifies the amount of the increment/decrement.
MCS 51 architecture. Instructions use only 8-bit immediate data (#data).
5.3.1.3 Direct
MCS 251 architecture. In the direct addressing mode, the instruction contains the address of
the data operand. The 8-bit direct mode addresses on-chip RAM (dir8 = 00:0000H–
00:007FH) as both bytes and words, and addresses the SFRs (dir8 = S:080H–S:1FFH) as
bytes only. (See the notes in section 5.3.1, “Data Addressing Modes,” regarding SFRs in the
MCS 251 architecture.) The 16-bit direct mode addresses both bytes and words in memory
(dir16 = 00:0000H–00:FFFFH).
MCS 51 architecture. The 8-bit direct mode addresses 256 bytes of on-chip RAM (dir8 =
00H–7FH) as bytes only and the SFRs (dir8 = 80H–FFH) as bytes only.