Advanced Function Instruction
7-18
FUN 43 D P
NBMV
NIBBLE MOVE
FUN 43 D P
NBMV
S : Source data to be moved
Ns: Assign Ns nibble within S as source nibble
D : Destination register to be moved
Nd: Assign Nd nibble within D as target nibble
S, Ns, D, Nd may combine with V, Z, P0~P9 to
serve indirect address application
WX WY WM WS TMR CTR HR IR OR SR ROR DR K XR
Range
Ope-
rand
WX0
∣
WX240
WY0
∣
WY240
WM0
∣
WM1896
WS0
∣
WS984
T0
∣
T255
C0
∣
C255
R0
∣
R3839
R3840
∣
R3903
R3904
∣
R3967
R3968
∣
R4167
R5000
∣
R8071
D0
∣
D4095
16/32-bit
+/-
number
V、Z
P0~P9
S ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○
Ns ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ 0~7 ○
D ○ ○ ○ ○ ○ ○ ○ ○* ○* ○ ○
Nd ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ 0~7 ○
z When move control "EN" = 1 or "EN↑" ( P instruction)has a transition from 0 to 1, will move the Ns’th nibble
from within S to the nibble specified by Nd within D. (A nibble is comprised by 4 bits. Starting from the lowest
bit of the register, B0, each successive 4 bits form a nibble, so B0~B3 form nibble 0, B4~B7 form nibble 1,
etc...)
z When the operand is 16 bit, the effective range of Ns or Nd is 0~3. For 32 bit ( D instruction) operand the
range is 0~7. Beyond this range, will set the N value error flag "ERR" to 1 , and do not carry out this
instruction.
X0
EN
S :
Ns :
ERR
D :
Nd :
43P.NBMV
1
R 1
2
R 0
z The instruction at left moves the third nibble NB2
(B8~B11) within S to the first nibble NB1 (B4~B7) within
D. Other nibbles within D remain unchanged.
B15 B0
S
R0 1 1 0 1
NB3 NB2 NB1 NB0
Ns=2 ───────
Ø
X0=
Nd=1 ─────────
NB3 NB2 NB1 NB0
D
R1 1 1 0 1
B15 B0