Intel 8XC196NT User Manual page 419

Table of Contents

Advertisement

8XC196NT USER'S MANUAL
Mnemonic
BMOVI
INTERRUPTIBLE BLOCK MOVE. Moves a
block of word data from one location in
memory to another. The instruction is
identical to BMOV, except that BMOVI is
interruptible. The source and destination
addresses are calculated using the indirect
with autoincrement addressing mode. A long
register (PTRS) addresses the source and
destination pointers, which are stored in
adjacent word registers. The source pointer
(SRCPTR) is the low word and the
destination pointer (DSTPTR) is the high
word of PTRS. A word register (CNTREG)
specifies the number of transfers. The blocks
of data can be located anywhere in page 00H
of register RAM, but should not overlap.
Because the source (SRCPTR) and
destination (DSTPTR) pointers are 16 bits
wide, this instruction uses nonexteneded
data moves. It cannot operate across page
boundaries. (If you need to cross page
boundaries, use the EBMOVI instruction.)
PTSSRC and PTSDST will operate from the
page defined by EP_REG. EP_REG should
be set to 00H to select page 00H (see
"Accessing Data" on page 4-24).
COUNT
LOOP: SRCPTR
DSTPTR
(DSTPTR)
(PTRS)
(PTRS + 2)
COUNT
if COUNT
go to LOOP
Z
BR
BRANCH INDIRECT. Continues execution at
the address specified in the operand word
register.
PC
(DEST)
Z
A-10
Table A-6. Instruction Set (Continued)
Operation
(CNTREG)
(PTRS)
(PTRS + 2)
(SRCPTR)
SRCPTR + 2
DSTPTR + 2
COUNT – 1
0 then
PSW Flag Settings
N
C
V
VT
PSW Flag Settings
N
C
V
VT
Instruction Format
PTRS, CNTREG
BMOVI
lreg, wreg
(11001101) (wreg) (lreg)
NOTE: The pointers are autoincre-
mented during this instruction.
However, CNTREG is decre-
mented only when the instruction
is interrupted. When BMOVI is
interrupted, CNTREG is updated
to store the interim word count at
the time of the interrupt. For this
reason, you should always reload
CNTREG before starting a
BMOVI.
ST
DEST
BR
[wreg]
(11100011) (wreg)
NOTE: In 1-Mbyte mode, the BR instruc-
tion always branches to page
ST
FFH. Use the EBR instruction to
branch to an address on any other
page.

Advertisement

Table of Contents
loading

Table of Contents