15
15 – 70
Syntax: DM ( <addr> ) = reg ;
Permissible registers
AX0 MX0 SI SB CNTR
AX1 MX1 SE PX RX0
AY0 MY0 SR1 ASTAT RX1
AY1 MY1 SR0 MSTAT TX0
AR MR2 I0-I7 SSTAT(read only) TX1
MR1 M0-M7 IMASK
MR0 L0-L7 ICNTL
Example: DM (cntl_port0 ) = AR;
Description: Moves the contents of the source register to the data
memory location specified in the instruction word. The addressing mode
is direct addressing (designated by an immediate address value or by a
label). The data memory address is stored directly in the instruction word
as a full 14-bit field. Whenever a register less than 16 bits in length is
written to memory, the value written is either sign-extended to the left if
the source is a signed value, or zero-filled to the left if the source is an
unsigned value. The unsigned registers which are zero-filled to the left
are: I0 through I7, L0 through L7, CNTR, PX, ASTAT, MSTAT, SSTAT,
IMASK, and ICNTL. All other registers are sign-extended to the left.
The contents of the source are always right-justified in the destination
location after the write (bit 0 maps to bit 0).
Note that whenever MR1 is loaded with data, it is sign-extended into
MR2.
Status Generated: None affected.
Instruction Format:
Data Memory Read (Direct Address), Instruction Type 3:
23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
1 0 0 1 RGP ADDR REG
ADDR contains the direct address of the destination location in Data
Memory.
RGP (Register Group) and REG (Register) select the source register
according to the Register Selection Table (see Appendix A).
MOVE
DATA MEMORY WRITE (Direct Address)