dlmzb
Determine Leftmost Zero Byte
Preliminary
PPC440x5 CPU Core User’s Manual
instrset.fm.
September 12, 2002
Page 309 of 589
dlmzb
determine left most zero byte
d
←
(RS) || (RB)
i, x, y
←
0
do while (x < 8)
∧
(y = 0)
x
←
x + 1
if d
i:i + 7
= 0 then
y
←
1
else
i
←
i + 8
(RA)
←
x
XER[TBC]
←
x
if Rc = 1 then
CR[CR0]
3
←
XER[SO]
if y = 1 then
if x < 5 then
CR[CR0]
0:2
←
0b010
else
CR[CR0]
0:2
←
0b100
else
CR[CR0]
0:2
←
0b001
The contents of registers RS and RB are concatenated to form an 8-byte operand. The operand is searched
for the leftmost byte in which each bit is 0 (a 0-byte).
Bytes in the operand are numbered from left to right starting with 1. If a 0-byte is found, its byte number is
placed into XER[TBC] and register RA. Otherwise, the number 8 is placed into XER[TBC] and register RA.
If the Rc field contains 1, XER[SO] is copied to CR[CR0]
3
and CR[CR0]
0:2
are updated as follows:
• If no 0-byte is found, CR[CR0]
0:2
is set to 0b001.
• If the leftmost 0-byte is in the first 4 bytes (in the RS register), CR[CR0]
0:2
is set to 0b010.
• If the leftmost 0-byte is in the last 4 bytes (in the RB register), CR[CR0]
0:2
is set to 0b100.
Registers Altered
• XER[TBC]
• RA
• CR[CR0] if Rc contains 1
Architecture Note
This instruction is implementation-specific and programs which use this instruction may not be portable to
other PowerPC Book-E implementations. See Instruction Set Portability on page 250.
dlmzb
RA, RS, RB
Rc=0
dlmzb.
RA, RS, RB
Rc=1
31
RS
RA
RB
78
Rc
0
6
11
16
21
31
Содержание PPC440X5 CPU Core
Страница 1: ...PPC440x5 CPU Core User s Manual Preliminary SA14 2613 02 September 12 2002 Title Page...
Страница 22: ...User s Manual PPC440x5 CPU Core Preliminary Page 22 of 583 ppc440x5LOT fm September 12 2002...
Страница 26: ...User s Manual PPC440x5 CPU Core Preliminary Page 26 of 589 preface fm September 12 2002...
Страница 38: ...User s Manual PPC440x5 CPU Core Preliminary Page 38 of 589 overview fm September 12 2002...
Страница 94: ...User s Manual PPC440x5 CPU Core Preliminary Page 94 of 589 init fm September 12 2002...
Страница 132: ...User s Manual PPC440x5 CPU Core Preliminary Page 132 of 589 cache fm September 12 2002...
Страница 158: ...User s Manual PPC440x5 CPU Core Preliminary Page 158 of 589 mmu fm September 12 2002...
Страница 218: ...User s Manual PPC440x5 CPU Core Preliminary Page 218 of 589 timers fm September 12 2002...
Страница 248: ...User s Manual PPC440x5 CPU Core Preliminary Page 248 of 589 debug fm September 12 2002...
Страница 458: ...User s Manual PPC440x5 CPU Core Preliminary Page 458 of 589 regsummIntro fm September 12 2002...
Страница 568: ...User s Manual PPC440x5 CPU Core Preliminary Page 568 of 589 instalfa fm September 12 2002...
Страница 588: ...User s Manual PPC440x5 CPU Core Preliminary Page 588 of 583 ppc440x5IX fm September 12 2002...
Страница 590: ......