Intel Microcontroller, 80C196NU, 8XC196NP manual Bmov, PTRS, Cntreg

Models: Microcontroller 80C196NU 8XC196NP

1 471
Download 471 pages 22.3 Kb
Page 314
Image 314

INSTRUCTION SET REFERENCE

Table A-6. Instruction Set (Continued)

Mnemonic

 

 

 

Operation

 

 

 

 

Instruction Format

ANDB

LOGICAL AND BYTES. ANDs the two source

 

DEST, SRC1, SRC2

(3 operands)

byte operands and stores the result into the

ANDB

Dbreg, Sbreg, baop

 

destination operand. The result has ones in

 

(010100aa) (baop) (Sbreg) (Dbreg)

 

only the bit positions in which both operands

 

 

 

 

had a “1” and zeros in all other bit positions.

 

 

 

(DEST) (SRC1) AND (SRC2)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

PSW Flag Settings

 

 

 

 

 

 

Z

N

C

V

VT

ST

 

 

 

 

 

0

0

 

 

 

 

 

 

 

BMOV

BLOCK MOVE. Moves a block of word data

 

PTRS, CNTREG

 

from one location in memory to another. The

BMOV

lreg, wreg

 

source and destination addresses are

 

(11000001) (wreg) (lreg)

 

calculated using the indirect with autoin-

 

 

 

 

crement addressing mode. A long register

 

 

 

(PTRS) addresses the source and destination

NOTE: The pointers are autoincre-

 

pointers, which are stored in adjacent word

 

 

mented during this instruction.

 

registers. The source pointer (SRCPTR) is

 

 

 

However, CNTREG is not decre-

 

the low word and the destination pointer

 

 

 

mented. Therefore, it is easy to

 

(DSTPTR) is the high word of PTRS. A word

 

 

 

unintentionally create a long,

 

register (CNTREG) specifies the number of

 

 

 

uninterruptible operation with the

 

transfers. The blocks of data can be located

 

 

 

BMOV instruction. Use the

 

anywhere in page 00H of register RAM, but

 

 

 

BMOVI instruction for an interrupt-

 

should not overlap. Because the source

 

 

 

ible operation.

 

(SRCPTR) and destination (DSTPTR)

 

 

 

 

 

pointers are 16 bits wide, this instruction uses

 

 

 

nonextended data moves. It cannot operate

 

 

 

across page boundaries. For example,

 

 

 

SRCPTR cannot point to a location on page

 

 

 

05 while DSTPTR points to page 00.

 

 

 

SRCPTR and DSTPTR 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 5-23). (The

 

 

 

80C196NU forces EP_REG to 00H.)

 

 

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

PSW Flag Settings

Z

 

N

 

C

V

VT

ST

 

 

A-9

Page 314
Image 314
Intel Microcontroller, 80C196NU, 8XC196NP manual Bmov, PTRS, Cntreg