On Saturday 02 July 2005 05:12, Mulyadi Santosa wrote: > Hello Paul... > > > > CCD : Compiled Code Destination (?) > > > > Condition Code Source. > > Or Condition Code Destination?
Yes. > > These 3 are used to implement lazy flag evaluation. Most x86 > > instructions set the condition code flags, but only a relatively > > small subset of instructions actually use these flags. > > hm, i see....BTW, these two lazy flags, CCS and CCD, they are the > representation of EFLAGS? CMIIW. If yes, can I assume that they have > same format as EFLAGS? CC_SRC and CC_DST are the output and one of the inputs to the flag setting instruction. CC_OP tells qemu how to calculate the flags from these. In some cases these will be the actual eflags value, and CC_OP will be set to CC_OP_EFLAGS. Note that qemu updates the eflags when it exits the cpu execution loop. This means the values seen in info registers will be correct. > anyway, it is safe to frequently ignore flags? For example, if MUL > generate overflow and set Zero Flag, Qemu must be aware of it, right? Qemu knows which instructions read/set which flag bits. Qemu does two flags-based optimizations: - Converts flag-setting operations onto non-flag setting operations when the flags are ignored. - Partial evaluation of condition codes when only a subset of flags are used. Paul _______________________________________________ Qemu-devel mailing list Qemu-devel@nongnu.org http://lists.nongnu.org/mailman/listinfo/qemu-devel