4/17/98 6-11 Addressing Modes and Data Types
Mnemonic text:
Rs Source register.
Rd Destination register.
[ ] In the instruction mnemonic, indicates an indirect reference (e.g.: [R4] refers to the
memory address pointed to by the contents of register 4).
[R+] Used to indicate an automatic increment of the pointer register in some indirect
addressing modes.
[WS:R] Indicates that the pointer register (R) is extended to a 24-bit pointer by the selected
segment register (either DS or ES for all instructions except MOVC, which uses either
PC
23-16
or CS).
Rlist A bitmap that represents each register in the register file during a PUSH or POP
operation. These registers are R0-R7 for word or R0L-R7H for byte.
Pseudocode:
( ) Used to indicate "contents of" in the instruction operation pseudocode (e.g.: (R4) refers
to the contents of register 4).
<--- Pseudocode assignment operator. Occasionally used as <--> to indicate assignment in
both directions (interchange of data).
((SP)) Data memory contents at the location pointed to by the current stack pointer. In system
mode, the current SP is the SSP, and the segment used is always segment 0. In user
mode, the current SP is the USP, and the segment used is the Data Segment (DS). This
segment apply to the uses of the SP, not just PUSH and POP. In a few cases, “((SSP))”
or “((USP))” indicate that a specific SP is used, regardless of the operating mode.
Rn.x Indicates bit x of register n.
Rn.x-y Indicates a range of bits from bit x to bit y of register n.
Note: all indirect addressing is accomplished using the contents of the data segment register as the
upper 8 address bits unless otherwise specified. Example: [ES:Rs] indicates that the extra segment
register generates the upper 8 bits of the address in this case.
Execution time:
PZ - In Page 0
nt - Not Taken
t - Taken
Syntax For Operand size:
.w = For word operands
.b = byte operands
.d = double-word operands
Default operand size is dependant on the operands used e.g MOV R0,R1 is always word-size
whereas MOV R0L, R0H is always byte etc. For INDIRECT_IMMEDIATE,
DIRECT_IMMEDIATE, DIRECT_DIRECT, etc., user must specify operand size.