450070850b
a consistent way of accessing these flags that works both inside and outside the BX_CPU class, I added inline accessor methods for each flag: assert_FLAG(), clear_FLAG(), set_FLAG(value), and get_FLAG () that returns its value. I use assert to mean "set the value to one" to avoid confusion, since there's also a set method that takes a value. - the eflags access macros (e.g. GetEFlagsDFLogical, ClearEFlagsTF) are now defined in terms of the inline accessors. In most cases it will result in the same code anyway. The major advantage of the accesors is that they can be used from inside or outside the BX_CPU object, while the macros can only be used from inside. - since almost all eflags were stored in val32 now, I went ahead and removed the if_, rf, and vm fields. Now the val32 bit is the "official" value for these flags, and they have accessors just like everything else. - init.cc: move the registration of registers until after they have been initialized so that the initial value of each parameter is correct. Modified files: debug/dbg_main.cc cpu/cpu.h cpu/debugstuff.cc cpu/flag_ctrl.cc cpu/flag_ctrl_pro.cc cpu/init.cc |
||
---|---|---|
bochs | ||
bochs-performance | ||
CVSROOT | ||
sfsite |