| 843 | } |
| 844 | |
| 845 | void CPU::fillFlags() { |
| 846 | if (this->lazyFlagType !=FLAGS_NONE) { |
| 847 | int newFlags = this->flags & ~(CF|AF|OF|SF|ZF|PF); |
| 848 | const LazyFlags* lazyFlag = lazyFlags[this->lazyFlagType]; |
| 849 | |
| 850 | if (lazyFlag->getAF(this)) newFlags |= AF; |
| 851 | if (lazyFlag->getZF(this)) newFlags |= ZF; |
| 852 | if (lazyFlag->getPF(this)) newFlags |= PF; |
| 853 | if (lazyFlag->getSF(this)) newFlags |= SF; |
| 854 | if (lazyFlag->getCF(this)) newFlags |= CF; |
| 855 | if (lazyFlag->getOF(this)) newFlags |= OF; |
| 856 | this->flags = newFlags; |
| 857 | this->lazyFlagType = FLAGS_NONE; |
| 858 | } |
| 859 | } |
| 860 | |
| 861 | void CPU::fillFlagsNoCF() { |
| 862 | if (this->lazyFlagType !=FLAGS_NONE) { |
no test coverage detected