MOVDL XT,loc16
6-201
MOVDL XT,loc16 Store XT and Load New XT
SYNTAX OPTIONS OPCODE OBJMODE RPT CYC
MOVDL XT,loc16 1010 0110 LLLL LLLL 1 Y N+1
Operands XT Multiplicand register
loc32 Addressing mode (see Chapter 5)
Note: For this operation, register-addressing modes cannot be used. The modes are:
@XARn, @ACC, @P, @XT. An illegal instruction trap will be generated.
Description Load the XT register with the 32-bit content of the location pointed to by the
“loc32” addressing mode and then load the next highest 32-bit location
pointed to by “loc32” with the content of XT:
XT = [loc32];
[loc32 + 2] = XT;
Flags and
Modes
None
Repeat This instruction is not repeatable. If this instruction follows the RPT
instruction, it resets the repeat counter (RPTC) and executes only once.
Example
; Calculate using 32-bit multiply, retaining high result:
; Y = (X0*C0) >> 2) + (X1*C1 >> 2) + (X2*C2 >> 2)
; X2 = X1
; X1 = X0
SPM −2 ; Set product shift to >> 2
ZAPA ; Zero ACC, P, OVC
MOVL XT,@X2 ; XT = X2
QMPYL P,XT,@C2 ; P = XT*C2
MOVDL XT,@X1 ; XT = X1, ACC = X2*C2>>2, X2 = X1
QMPYAL P,XT,@C1 ; P = XT*C1
MOVDL XT,@X0 ; XT = X0, ACC = X1*C1>>2 + X2*C2>>2, X1 = X0
QMPYAL P,XT,@C0 ; P = XT*C0
ADDL ACC,P << PM ; ACC = X0*C0>>2 + X1*C1>>2 + X2*C2>>2
MOVL @Y,ACC ; Store result into Y