Data/Program/IO Space Immediate Addressing Modes
5-28
5.8 Data/Program/IO Space Immediate Addressing Modes
Syntax Description
*(0:16bit) 32BitDataAddr(31:16) = 0
32BitDataAddr(15:0) = 16−bit immediate value
Note: If instruction is repeated, the address is post−incremented on each iteration. This
addressing mode can only access the low 64K of data space.
Instructions that use this addressing mode:
MOV loc16,*(0:16bit) ; [loc16] = [0:16bit]
MOV *(0:16bit),loc16 ; [loc16] = [0:16bit]
Syntax Description
*(PA) 32BitDataAddr(31:16) = 0
32BitDataAddr(15:0) = PA 16−bit immediate value
Note: If instruction is repeated, the address is post−incremented on each iteration. The I/O
strobe signal is toggled when accessing I/O space with this addressing mode. The
data space address lines are used for accessing I/O space.
Instructions that use this addressing mode:
OUT *(PA),loc16 ; IOspace[0:PA] = [loc16]
UOUT *(PA),loc16 ; IOspace[0:PA] = [loc16] (unprotected)
IN loc16,*(PA) ; [loc16] = IOspace[0:PA]
Syntax Description
0:pma 22BitProgAddr(21:16) = 0
22BitProgAddr(15:0) = pma 16−bit immediate value
Note: If instruction is repeated, the address is post−incremented on each iteration. This
addressing mode can only access the low 64K of program space.
Instructions that use this addressing mode:
MAC P,loc16,0:pma ; ACC = ACC + P << PM,
; P = [loc16] * ProgSpace[0:pma]