| 232 | } |
| 233 | } |
| 234 | void common_bsfr16e16(CPU* cpu, U32 address, U32 dstReg) { |
| 235 | U16 value=cpu->memory->readw(address); |
| 236 | cpu->fillFlagsNoZF(); |
| 237 | if (value==0) { |
| 238 | cpu->addZF(); |
| 239 | } else { |
| 240 | U16 result = 0; |
| 241 | while ((value & 0x01)==0) { result++; value>>=1; } |
| 242 | cpu->removeZF(); |
| 243 | cpu->reg[dstReg].u16=result; |
| 244 | } |
| 245 | } |
| 246 | void common_bsfr32r32(CPU* cpu, U32 srcReg, U32 dstReg) { |
| 247 | U32 value=cpu->reg[srcReg].u32; |
| 248 | cpu->fillFlagsNoZF(); |
no test coverage detected