Advanced Function Instruction
7-19
FUN 44 D P
BYMV
BYTE MOVE
FUN 44 D P
BYMV
S : Source data to be moved
Ns : Assign Ns byte within S as source byte
D : Destination register to be moved
Nd : Assign Nd byte within D as target byte
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~3 ○
D ○ ○ ○ ○ ○ ○ ○ ○* ○* ○ ○
Nd ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ 0~3 ○
z When move control "EN" = 1 or "EN↑" ( P instruction) has a transition from 0 to 1, move Nsth byte within S
to Ndth byte position within D. (A byte is comprised of 8 bits. Starting from the lowest bit of the register, B0,
each successive eight bits form a byte, so B0~B7 form byte 0, B8~B15 form byte 1, etc...)
z When the operand is 16 bit, the effective range of Ns or Nd is 0~1. For 32 bit ( D instruction) operand, the
range is 0~3. Beyond this range, will set the N value error flag "ERR" to 1, and do not carry out this
instruction.
X0
EN
S :
Ns :
2
R 0
ERR
D :
Nd :
1
44DP.BYMV
R 2
z The instruction at left moves the third byte (B16~B23)
within S (32 bit register composed of R1R0), to the first
byte within D (32 bit register composed of R3R2). Other
bytes within D remain unchanged.
B15 B0
S R1 R0 10111011
Byte3 Byte2 Byte1 Byte0
Ns=2──────────────
Ø
X0=
Nd=1────────────────────
Byte3 Byte2 Byte1 Byte0
D R3 R2 10111011
B31 B0