Intel 8XC196K Series User Manual page 449

Table of Contents

Advertisement

8XC196K x , J x , CA 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 register
RAM, but should not overlap.
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
CLR
CLEAR WORD. Clears the value of the
operand.
(DEST)
Z
1
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
0
PSW Flag Settings
N
C
V
VT
0
0
0
Instruction Format
PTRS, CNTREG
BMOVI
lreg, wreg
(11001101) (wreg) (lreg)
NOTE: The
mented during this instruction.
However,
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
BMOVI.
ST
DEST
BR
[wreg]
(11100011) (wreg)
ST
DEST
CLR
wreg
(00000001) (wreg)
ST
pointers
are
autoincre-
CNTREG
is
decre-
before
starting
a

Advertisement

Table of Contents
loading

Table of Contents