When the BO value is 1x1xx (xs being ignored), the branch is always taken (despite the fact that this is supposedly a "conditional branch"). However when disassembling machine code for this instruction, the assembly bdnz is emitted.
For example:
cstool ppc64be "\x42\x9f\x00\x05" 0x0
0 42 9f 00 05 bdnzl 0x4
Expected:
cstool ppc64be "\x42\x9f\x00\x05" 0x0
> 0 42 9f 00 05 bcl 0x14, 31, 0x4
(bdnz is a mnemonic for BO=1x00x - decrement CTR and branch if result not equal to 0)
When the BO value is
1x1xx(xs being ignored), the branch is always taken (despite the fact that this is supposedly a "conditional branch"). However when disassembling machine code for this instruction, the assemblybdnzis emitted.For example:
Expected:
(
bdnzis a mnemonic for BO=1x00x- decrementCTRand branch if result not equal to 0)