
where:
[S]
If S is present and the loop starts with
DMALP
, then the assembler sets
bs
to 0 and
x
to 1. The instruction
is conditional on the state of the
request_type
flag:
•
request_type
= Single
• The DMAC executes the
DMALPEND
•
request_type
= Burst
• The DMAC performs a
DMANOP
and therefore exits the loop.
[B]
If B is present and the loop starts with
DMALP
, then the assembler sets
bs
to 1 and
x
to 1. The
instruction is conditional on the state of the
request_type
flag:
•
request_type
= Single
• The DMAC performs a
DMANOP
and therefore exits the loop.
•
request_type
= Burst
• The DMAC executes the
DMALPEND
If you do not specify the S or B operand, the assembler sets
bs
to 0 and
x
to 0, and the DMAC always executes
the
DMALPEND
.
You must not specify the S or B operand when a loop starts with
DMALPFE
. If you do, the assembler
issues a warning message and sets
bs
to 0,
x
to 0, and
nf
to 1. In the same way as for
DMALPFE
, the
DMAC uses the state of the
request_last
flag to control when it exits the loop.
Note:
The DMAC sets the value of the:
Note:
•
request_type
flag when it executes a
DMAWFP
instruction.
•
request_last
flag to 1 when the corresponding peripheral issues the last request command through
the peripheral request interface.
To correctly assign the additional bits in the
DMALPEND
instruction, the assembler determines the values
for:
backwards_jump[7:0]
Sets the relative location of the first instruction in the program loop. The
assembler calculates the value for
backwards_jump[7:0]
by subtracting the address of the first
instruction in the loop from the address of the
DMALPEND
.
•
nf
sets it to:
• 0 if
DMALPFE
started the program loop
• 1 if
DMALP
started the program loop.
•
lc
sets it to:
• 0 if the loop counter 0 registers contains the loop counter value
• 1 if the loop counter 1 registers contains the loop counter value
• 1 if
DMALPFE
started the program loop.
Operation
Altera Corporation
DMA Controller
16-35
DMALPEND[S | B]
cv_54016
2013.12.30