// Count Leading Zeroes Word static bool cntlzw(PPCEmuAssembler& a, Instruction instr) { asmjit::Label lblZero(a); a.mov(a.ecx, a.ppcgpr[instr.rS]); a.mov(a.eax, 32); a.cmp(a.ecx, 0); a.je(lblZero); a.mov(a.edx, 0); a.bsr(a.edx, a.ecx); a.dec(a.eax); a.sub(a.eax, a.edx); a.bind(lblZero); a.mov(a.ppcgpr[instr.rA], a.eax); if (instr.rc) { updateConditionRegister(a, a.eax, a.ecx, a.edx); } return true; }