Intel 8XC196MC User Manual page 399

Table of Contents

Advertisement

8XC196MC, MD, MH 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 word 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
end_if
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
Get other manuals https://www.bkmanuals.com
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)
ST
DEST
CLR
wreg
(00000001) (wreg)
ST

Advertisement

Table of Contents
loading

This manual is also suitable for:

8xc196md8xc196mh

Table of Contents