Intel 8XC196MC Microscope & Magnifier User Manual


 
8XC196MC, MD, MH USER’S MANUAL
A-10
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
(CNTREG)
LOOP: SRCPTR
(PTRS)
DSTPTR
(PTRS + 2)
(DSTPTR)
(SRCPTR)
(PTRS)
SRCPTR + 2
(PTRS + 2)
DSTPTR + 2
COUNT
COUNT – 1
if COUNT
0 then
go to LOOP
end_if
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.
PSW Flag Settings
ZNCVVTST
——————
BR BRANCH INDIRECT. Continues execution at
the address specified in the operand word
register.
PC
(DEST)
DEST
BR [wreg]
(11100011) (wreg)
PSW Flag Settings
ZNCVVTST
——————
CLR CLEAR WORD. Clears the value of the
operand.
(DEST)
0
DEST
CLR wreg
(00000001) (wreg)
PSW Flag Settings
ZNCVVTST
1000—
Table A-6. Instruction Set (Continued)
Mnemonic Operation Instruction Format