Advanced Function Instruction
7-22
FUN 47 P
UNIT
NIBBLE UNITE
FUN 47 P
UNIT
S : Starting source register to be united
N : Number of nibbles to be united
D : Registers storing united data
S, N, D 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
1
∣
4
V、Z
P0~P9
S ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○
N ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○
D ○ ○ ○ ○ ○ ○ ○ ○* ○* ○ ○
z When unite control "EN" = 1 or "EN↑" ( P instruction) has a transition from 0 to 1, take out the lowest
nibbles NB0, of N successive registers starting from S, and fill them into NB0, NB1, .....NBn-1 of D in
ascending order. Nibbles not yet filled in D (when N is odd) are filled with 0. (A nibble is comprised by 4 bits.
Starting from the lowest bit in the register, B0, each successive four bits form a nibble, so B0~B3 form nibble
0, B4~B7 form nibble 1, etc...).
z This instruction only provides WORD (16 bit) operand. Because of this, there are usually only 4 nibbles can
be involved. Therefore the effective range of N is 1~4. Beyond this range, will set the N value error flag
"ERR" to 1, and do not carry out this instruction.
47P.UNIT
WY 0
D :
3
R 0
S :
N :
X0
EN
ERR
z The instruction at left takes out NB0 from 3 registers, R0,
R1 and R2, and fills them into NB0~NB2 within WY0
register.
N=3
NB3 NB2 NB1 NB0
D
W Y 00000 0100 00100001
Y15 Y0
Set the not united NB as 0
B15 B12 B11 B8 B7 B4 B3 B0
S R0 0001
N=3 S+1
R1 0010
S+2
R2 0100
Ö
NB3 NB2 NB1 NB0 X0=