Dma Registers - HP 9835A Programming Manual

35 series desktop computer assembly development rom
Table of Contents

Advertisement

148
I/O Handling
The direction of the transfer is specified before the transfer takes place. It can be specified as
either "inward" (Le., from the peripheral to memory), or "outward" (Le., from the memory to
the peripheral). To set the direction outwards, the instruction-
=.-.:=
.! •••. : .•• -.
is used. To set the direction inwards, the instruction -
IJ
:r
is used.
DMA Registers
There are three registers which contain information used by the DMA hardware - Dmapa,
Dmama, and Dmac. Before any DMA transfer takes place, the appropriate values must be
loaded into these registers.
Dmapa contains the peripheral address of the device requesting DMA. Only the least signific-
ant bits of the register specify the select code which is to be the peripheral side of the DMA
activity. During DMA transfers, the address bus takes its address from the Dmapa register rather
than Pa as in other I/O transfers. The value is supplied to Dmapa by the Isr _access utility when
it grants DMA access.
Dmama contains the address of the first word in memory (Le., lowest address) where the data
transferred is (or will be) stored. After each word transferred, this register is automatically
incremented.
Dmac is the count register for a DMA transfer. Before the transfer begins, it should be set to
n-l, where n is the number of words to be transferred. After each word transfer, the count is
decremented. If, during a word transfer, the value of Dmac is 0 (meaning that this is the last
word to be transferred), the processor automatically informs the interface that the DMA
operation will be complete after the present word is transferred. In the case of inputs where the
amount of transferring data is unknown in advance, Dmac should be set to a very large number
in order to disable the signal to the interface.

Advertisement

Table of Contents
loading

Table of Contents