During Bochs benchmarking I figured out that hostasm actually slow down the emulation ... so remove this ugly code which also doesn't help :)

speedup flags update for some instructions - idea was taken from DT patch by h.johansson
This commit is contained in:
Stanislav Shwartsman 2007-10-21 22:07:33 +00:00
parent 28a5c6741c
commit 42fdd8a3a1
27 changed files with 237 additions and 1349 deletions

View File

@ -250,7 +250,7 @@ $(BX_OBJS): $(BX_INCLUDES)
bxversion.h:
$(RM) -f bxversion.h
echo '/////////////////////////////////////////////////////////////////////////' > bxversion.h
echo '// $$Id: Makefile.in,v 1.185 2007-09-23 08:45:14 vruppert Exp $$' >> bxversion.h
echo '// $$Id: Makefile.in,v 1.186 2007-10-21 22:07:20 sshwarts Exp $$' >> bxversion.h
echo '/////////////////////////////////////////////////////////////////////////' >> bxversion.h
echo '// This file is generated by "make bxversion.h"' >> bxversion.h
echo "#define VER_STRING \"$(VER_STRING)\"" >> bxversion.h
@ -707,7 +707,7 @@ load32bitOShack.o: load32bitOShack.@CPP_SUFFIX@ bochs.h config.h osdep.h \
bx_debug/debug.h ./config.h ./osdep.h bxversion.h gui/siminterface.h \
memory/memory.h pc_system.h plugin.h extplugin.h gui/gui.h \
gui/textconfig.h ./config.h gui/keymap.h instrument/stubs/instrument.h \
cpu/cpu.h cpu/crregs.h ./cpu/lazy_flags.h ./cpu/hostasm.h ./disasm/disasm.h \
cpu/cpu.h cpu/crregs.h ./cpu/lazy_flags.h ./disasm/disasm.h \
./config.h cpu/descriptor.h cpu/icache.h iodev/iodev.h ./bochs.h \
./iodev/pci.h ./iodev/pci2isa.h ./iodev/pci_ide.h ./iodev/pcivga.h \
./iodev/vga.h ./iodev/svga_cirrus.h ./iodev/biosdev.h ./iodev/cmos.h \
@ -720,7 +720,7 @@ logio.o: logio.@CPP_SUFFIX@ bochs.h config.h osdep.h bx_debug/debug.h ./config.h
./osdep.h bxversion.h gui/siminterface.h memory/memory.h pc_system.h \
plugin.h extplugin.h gui/gui.h gui/textconfig.h ./config.h gui/keymap.h \
instrument/stubs/instrument.h cpu/cpu.h cpu/crregs.h ./cpu/lazy_flags.h \
./cpu/hostasm.h ./disasm/disasm.h ./config.h cpu/descriptor.h \
./disasm/disasm.h ./config.h cpu/descriptor.h \
cpu/icache.h iodev/iodev.h ./bochs.h ./iodev/pci.h ./iodev/pci2isa.h \
./iodev/pci_ide.h ./iodev/pcivga.h ./iodev/vga.h ./iodev/svga_cirrus.h \
./iodev/biosdev.h ./iodev/cmos.h ./iodev/dma.h ./iodev/floppy.h \
@ -733,7 +733,7 @@ main.o: main.@CPP_SUFFIX@ bochs.h config.h osdep.h bx_debug/debug.h ./config.h \
./osdep.h bxversion.h gui/siminterface.h memory/memory.h pc_system.h \
plugin.h extplugin.h gui/gui.h gui/textconfig.h ./config.h gui/keymap.h \
instrument/stubs/instrument.h cpu/cpu.h cpu/crregs.h ./cpu/lazy_flags.h \
./cpu/hostasm.h ./disasm/disasm.h ./config.h cpu/descriptor.h \
./disasm/disasm.h ./config.h cpu/descriptor.h \
cpu/icache.h iodev/iodev.h ./bochs.h ./iodev/pci.h ./iodev/pci2isa.h \
./iodev/pci_ide.h ./iodev/pcivga.h ./iodev/vga.h ./iodev/svga_cirrus.h \
./iodev/biosdev.h ./iodev/cmos.h ./iodev/dma.h ./iodev/floppy.h \
@ -750,7 +750,7 @@ pc_system.o: pc_system.@CPP_SUFFIX@ bochs.h config.h osdep.h bx_debug/debug.h \
./config.h ./osdep.h bxversion.h gui/siminterface.h memory/memory.h \
pc_system.h plugin.h extplugin.h gui/gui.h gui/textconfig.h ./config.h \
gui/keymap.h instrument/stubs/instrument.h cpu/cpu.h cpu/crregs.h ./cpu/lazy_flags.h \
./cpu/hostasm.h ./disasm/disasm.h ./config.h cpu/descriptor.h \
./disasm/disasm.h ./config.h cpu/descriptor.h \
cpu/icache.h iodev/iodev.h ./bochs.h ./iodev/pci.h ./iodev/pci2isa.h \
./iodev/pci_ide.h ./iodev/pcivga.h ./iodev/vga.h ./iodev/svga_cirrus.h \
./iodev/biosdev.h ./iodev/cmos.h ./iodev/dma.h ./iodev/floppy.h \

View File

@ -120,7 +120,7 @@ lexer.o: lexer.c debug.h ../config.h ../osdep.h
parser.o: parser.c debug.h ../config.h ../osdep.h
dbg_main.o: dbg_main.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h \
../bx_debug/debug.h ../bxversion.h ../gui/siminterface.h ../cpu/cpu.h \
../cpu/crregs.h ../cpu/lazy_flags.h ../cpu/hostasm.h ../cpu/icache.h \
../cpu/crregs.h ../cpu/lazy_flags.h ../cpu/icache.h \
../cpu/apic.h ../cpu/i387.h ../fpu/softfloat.h ../fpu/tag_w.h \
../fpu/status_w.h ../fpu/control_w.h ../cpu/xmm.h ../memory/memory.h \
../pc_system.h ../plugin.h ../extplugin.h ../ltdl.h ../gui/gui.h \
@ -135,14 +135,14 @@ dbg_main.o: dbg_main.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h \
../iodev/slowdown_timer.h ../iodev/extfpuirq.h ../iodev/gameport.h
linux.o: linux.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h ../bx_debug/debug.h \
../bxversion.h ../gui/siminterface.h ../cpu/cpu.h ../cpu/lazy_flags.h \
../cpu/hostasm.h ../cpu/icache.h ../cpu/apic.h ../cpu/i387.h ../cpu/crregs.h \
../cpu/icache.h ../cpu/apic.h ../cpu/i387.h ../cpu/crregs.h \
../fpu/softfloat.h ../fpu/tag_w.h ../fpu/status_w.h ../fpu/control_w.h \
../cpu/xmm.h ../memory/memory.h ../pc_system.h ../plugin.h \
../extplugin.h ../ltdl.h ../gui/gui.h ../gui/textconfig.h \
../gui/keymap.h ../instrument/stubs/instrument.h
symbols.o: symbols.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h ../bx_debug/debug.h \
../bxversion.h ../gui/siminterface.h ../cpu/cpu.h ../cpu/lazy_flags.h \
../cpu/hostasm.h ../cpu/icache.h ../cpu/apic.h ../cpu/i387.h ../cpu/crregs.h \
../cpu/icache.h ../cpu/apic.h ../cpu/i387.h ../cpu/crregs.h \
../fpu/softfloat.h ../fpu/tag_w.h ../fpu/status_w.h ../fpu/control_w.h \
../cpu/xmm.h ../memory/memory.h ../pc_system.h ../plugin.h \
../extplugin.h ../ltdl.h ../gui/gui.h ../gui/textconfig.h \

View File

@ -737,7 +737,6 @@ typedef
#define BX_SupportGuest2HostTLB 0
#define BX_SupportRepeatSpeedups 0
#define BX_SupportHostAsms 0
#define BX_SupportHostAsmsFpu 0
#define BX_SUPPORT_ICACHE 0

9
bochs/configure vendored
View File

@ -1,5 +1,5 @@
#! /bin/sh
# From configure.in Id: configure.in,v 1.346 2007/10/08 19:46:37 sshwarts Exp .
# From configure.in Id: configure.in,v 1.347 2007/10/11 21:28:57 sshwarts Exp .
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.60.
#
@ -37992,9 +37992,9 @@ echo "${ECHO_T}no" >&6; }
fi
else
{ echo "$as_me:$LINENO: result: yes" >&5
echo "${ECHO_T}yes" >&6; }
speedup_host_specific_asms=1
{ echo "$as_me:$LINENO: result: no" >&5
echo "${ECHO_T}no" >&6; }
speedup_host_specific_asms=0
fi
@ -38329,7 +38329,6 @@ if test "$speedups_all" = 1; then
speedup_guest2host_tlb=1
speedup_repeat=1
speedup_iCache=1
speedup_host_specific_asms=1
speedup_fastcall=1
fi

View File

@ -2,7 +2,7 @@ dnl // Process this file with autoconf to produce a configure script.
AC_PREREQ(2.50)
AC_INIT(bochs.h)
AC_REVISION([[$Id: configure.in,v 1.347 2007-10-11 21:28:57 sshwarts Exp $]])
AC_REVISION([[$Id: configure.in,v 1.348 2007-10-21 22:07:31 sshwarts Exp $]])
AC_CONFIG_HEADER(config.h)
AC_CONFIG_HEADER(ltdlconf.h)
@ -1049,8 +1049,8 @@ AC_ARG_ENABLE(host-specific-asms,
speedup_host_specific_asms=0
fi],
[
AC_MSG_RESULT(yes)
speedup_host_specific_asms=1
AC_MSG_RESULT(no)
speedup_host_specific_asms=0
]
)
@ -1259,7 +1259,6 @@ if test "$speedups_all" = 1; then
speedup_guest2host_tlb=1
speedup_repeat=1
speedup_iCache=1
speedup_host_specific_asms=1
speedup_fastcall=1
fi

View File

@ -160,7 +160,7 @@ dist-clean: clean
../memory/memory.h ../pc_system.h ../plugin.h ../extplugin.h \
../gui/gui.h ../gui/textconfig.h ../config.h ../gui/keymap.h \
../instrument/stubs/instrument.h cpu.h ../cpu/lazy_flags.h \
../cpu/hostasm.h ../disasm/disasm.h ../config.h crregs.h descriptor.h \
../disasm/disasm.h ../config.h crregs.h descriptor.h \
icache.h apic.h ../cpu/i387.h ../fpu/softfloat.h ../config.h \
../fpu/tag_w.h ../fpu/status_w.h ../fpu/control_w.h ../cpu/xmm.h
access.o: access.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h ../bx_debug/debug.h \
@ -168,7 +168,7 @@ access.o: access.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h ../bx_debug/debu
../memory/memory.h ../pc_system.h ../plugin.h ../extplugin.h \
../gui/gui.h ../gui/textconfig.h ../config.h ../gui/keymap.h \
../instrument/stubs/instrument.h cpu.h ../cpu/lazy_flags.h \
../cpu/hostasm.h ../disasm/disasm.h ../config.h crregs.h descriptor.h \
../disasm/disasm.h ../config.h crregs.h descriptor.h \
icache.h apic.h ../cpu/i387.h ../fpu/softfloat.h ../config.h \
../fpu/tag_w.h ../fpu/status_w.h ../fpu/control_w.h ../cpu/xmm.h
apic.o: apic.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h ../bx_debug/debug.h \
@ -176,7 +176,7 @@ apic.o: apic.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h ../bx_debug/debug.h
../memory/memory.h ../pc_system.h ../plugin.h ../extplugin.h \
../gui/gui.h ../gui/textconfig.h ../config.h ../gui/keymap.h \
../instrument/stubs/instrument.h cpu.h ../cpu/lazy_flags.h \
../cpu/hostasm.h ../disasm/disasm.h ../config.h crregs.h descriptor.h \
../disasm/disasm.h ../config.h crregs.h descriptor.h \
icache.h apic.h ../cpu/i387.h ../fpu/softfloat.h ../config.h \
../fpu/tag_w.h ../fpu/status_w.h ../fpu/control_w.h ../cpu/xmm.h \
../iodev/iodev.h ../bochs.h ../iodev/pci.h ../iodev/pci2isa.h \
@ -193,7 +193,7 @@ arith16.o: arith16.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h \
../gui/siminterface.h ../memory/memory.h ../pc_system.h ../plugin.h \
../extplugin.h ../gui/gui.h ../gui/textconfig.h ../config.h \
../gui/keymap.h ../instrument/stubs/instrument.h cpu.h \
../cpu/lazy_flags.h ../cpu/hostasm.h ../disasm/disasm.h ../config.h \
../cpu/lazy_flags.h ../disasm/disasm.h ../config.h \
crregs.h descriptor.h icache.h apic.h ../cpu/i387.h ../fpu/softfloat.h \
../config.h ../fpu/tag_w.h ../fpu/status_w.h ../fpu/control_w.h \
../cpu/xmm.h
@ -202,7 +202,7 @@ arith32.o: arith32.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h \
../gui/siminterface.h ../memory/memory.h ../pc_system.h ../plugin.h \
../extplugin.h ../gui/gui.h ../gui/textconfig.h ../config.h \
../gui/keymap.h ../instrument/stubs/instrument.h cpu.h \
../cpu/lazy_flags.h ../cpu/hostasm.h ../disasm/disasm.h ../config.h \
../cpu/lazy_flags.h ../disasm/disasm.h ../config.h \
crregs.h descriptor.h icache.h apic.h ../cpu/i387.h ../fpu/softfloat.h \
../config.h ../fpu/tag_w.h ../fpu/status_w.h ../fpu/control_w.h \
../cpu/xmm.h
@ -211,7 +211,7 @@ arith64.o: arith64.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h \
../gui/siminterface.h ../memory/memory.h ../pc_system.h ../plugin.h \
../extplugin.h ../gui/gui.h ../gui/textconfig.h ../config.h \
../gui/keymap.h ../instrument/stubs/instrument.h cpu.h \
../cpu/lazy_flags.h ../cpu/hostasm.h ../disasm/disasm.h ../config.h \
../cpu/lazy_flags.h ../disasm/disasm.h ../config.h \
crregs.h descriptor.h icache.h apic.h ../cpu/i387.h ../fpu/softfloat.h \
../config.h ../fpu/tag_w.h ../fpu/status_w.h ../fpu/control_w.h \
../cpu/xmm.h
@ -220,7 +220,7 @@ arith8.o: arith8.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h ../bx_debug/debu
../memory/memory.h ../pc_system.h ../plugin.h ../extplugin.h \
../gui/gui.h ../gui/textconfig.h ../config.h ../gui/keymap.h \
../instrument/stubs/instrument.h cpu.h ../cpu/lazy_flags.h \
../cpu/hostasm.h ../disasm/disasm.h ../config.h crregs.h descriptor.h \
../disasm/disasm.h ../config.h crregs.h descriptor.h \
icache.h apic.h ../cpu/i387.h ../fpu/softfloat.h ../config.h \
../fpu/tag_w.h ../fpu/status_w.h ../fpu/control_w.h ../cpu/xmm.h
bcd.o: bcd.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h ../bx_debug/debug.h \
@ -228,7 +228,7 @@ bcd.o: bcd.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h ../bx_debug/debug.h \
../memory/memory.h ../pc_system.h ../plugin.h ../extplugin.h \
../gui/gui.h ../gui/textconfig.h ../config.h ../gui/keymap.h \
../instrument/stubs/instrument.h cpu.h ../cpu/lazy_flags.h \
../cpu/hostasm.h ../disasm/disasm.h ../config.h crregs.h descriptor.h \
../disasm/disasm.h ../config.h crregs.h descriptor.h \
icache.h apic.h ../cpu/i387.h ../fpu/softfloat.h ../config.h \
../fpu/tag_w.h ../fpu/status_w.h ../fpu/control_w.h ../cpu/xmm.h
bit.o: bit.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h ../bx_debug/debug.h \
@ -236,7 +236,7 @@ bit.o: bit.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h ../bx_debug/debug.h \
../memory/memory.h ../pc_system.h ../plugin.h ../extplugin.h \
../gui/gui.h ../gui/textconfig.h ../config.h ../gui/keymap.h \
../instrument/stubs/instrument.h cpu.h ../cpu/lazy_flags.h \
../cpu/hostasm.h ../disasm/disasm.h ../config.h crregs.h descriptor.h \
../disasm/disasm.h ../config.h crregs.h descriptor.h \
icache.h apic.h ../cpu/i387.h ../fpu/softfloat.h ../config.h \
../fpu/tag_w.h ../fpu/status_w.h ../fpu/control_w.h ../cpu/xmm.h
call_far.o: call_far.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h \
@ -244,7 +244,7 @@ call_far.o: call_far.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h \
../gui/siminterface.h ../memory/memory.h ../pc_system.h ../plugin.h \
../extplugin.h ../gui/gui.h ../gui/textconfig.h ../config.h \
../gui/keymap.h ../instrument/stubs/instrument.h cpu.h \
../cpu/lazy_flags.h ../cpu/hostasm.h ../disasm/disasm.h ../config.h \
../cpu/lazy_flags.h ../disasm/disasm.h ../config.h \
crregs.h descriptor.h icache.h apic.h ../cpu/i387.h ../fpu/softfloat.h \
../config.h ../fpu/tag_w.h ../fpu/status_w.h ../fpu/control_w.h \
../cpu/xmm.h
@ -253,7 +253,7 @@ cpu.o: cpu.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h ../bx_debug/debug.h \
../memory/memory.h ../pc_system.h ../plugin.h ../extplugin.h \
../gui/gui.h ../gui/textconfig.h ../config.h ../gui/keymap.h \
../instrument/stubs/instrument.h cpu.h ../cpu/lazy_flags.h \
../cpu/hostasm.h ../disasm/disasm.h ../config.h crregs.h descriptor.h \
../disasm/disasm.h ../config.h crregs.h descriptor.h \
icache.h apic.h ../cpu/i387.h ../fpu/softfloat.h ../config.h \
../fpu/tag_w.h ../fpu/status_w.h ../fpu/control_w.h ../cpu/xmm.h \
../iodev/iodev.h ../bochs.h ../iodev/pci.h ../iodev/pci2isa.h \
@ -270,7 +270,7 @@ cpuid.o: cpuid.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h ../bx_debug/debug.
../memory/memory.h ../pc_system.h ../plugin.h ../extplugin.h \
../gui/gui.h ../gui/textconfig.h ../config.h ../gui/keymap.h \
../instrument/stubs/instrument.h cpu.h ../cpu/lazy_flags.h \
../cpu/hostasm.h ../disasm/disasm.h ../config.h crregs.h descriptor.h \
../disasm/disasm.h ../config.h crregs.h descriptor.h \
icache.h apic.h ../cpu/i387.h ../fpu/softfloat.h ../config.h \
../fpu/tag_w.h ../fpu/status_w.h ../fpu/control_w.h ../cpu/xmm.h
ctrl_xfer16.o: ctrl_xfer16.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h \
@ -278,7 +278,7 @@ ctrl_xfer16.o: ctrl_xfer16.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h \
../gui/siminterface.h ../memory/memory.h ../pc_system.h ../plugin.h \
../extplugin.h ../gui/gui.h ../gui/textconfig.h ../config.h \
../gui/keymap.h ../instrument/stubs/instrument.h cpu.h \
../cpu/lazy_flags.h ../cpu/hostasm.h ../disasm/disasm.h ../config.h \
../cpu/lazy_flags.h ../disasm/disasm.h ../config.h \
crregs.h descriptor.h icache.h apic.h ../cpu/i387.h ../fpu/softfloat.h \
../config.h ../fpu/tag_w.h ../fpu/status_w.h ../fpu/control_w.h \
../cpu/xmm.h
@ -287,7 +287,7 @@ ctrl_xfer32.o: ctrl_xfer32.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h \
../gui/siminterface.h ../memory/memory.h ../pc_system.h ../plugin.h \
../extplugin.h ../gui/gui.h ../gui/textconfig.h ../config.h \
../gui/keymap.h ../instrument/stubs/instrument.h cpu.h \
../cpu/lazy_flags.h ../cpu/hostasm.h ../disasm/disasm.h ../config.h \
../cpu/lazy_flags.h ../disasm/disasm.h ../config.h \
crregs.h descriptor.h icache.h apic.h ../cpu/i387.h ../fpu/softfloat.h \
../config.h ../fpu/tag_w.h ../fpu/status_w.h ../fpu/control_w.h \
../cpu/xmm.h
@ -296,7 +296,7 @@ ctrl_xfer64.o: ctrl_xfer64.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h \
../gui/siminterface.h ../memory/memory.h ../pc_system.h ../plugin.h \
../extplugin.h ../gui/gui.h ../gui/textconfig.h ../config.h \
../gui/keymap.h ../instrument/stubs/instrument.h cpu.h \
../cpu/lazy_flags.h ../cpu/hostasm.h ../disasm/disasm.h ../config.h \
../cpu/lazy_flags.h ../disasm/disasm.h ../config.h \
crregs.h descriptor.h icache.h apic.h ../cpu/i387.h ../fpu/softfloat.h \
../config.h ../fpu/tag_w.h ../fpu/status_w.h ../fpu/control_w.h \
../cpu/xmm.h
@ -305,7 +305,7 @@ ctrl_xfer8.o: ctrl_xfer8.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h \
../gui/siminterface.h ../memory/memory.h ../pc_system.h ../plugin.h \
../extplugin.h ../gui/gui.h ../gui/textconfig.h ../config.h \
../gui/keymap.h ../instrument/stubs/instrument.h cpu.h \
../cpu/lazy_flags.h ../cpu/hostasm.h ../disasm/disasm.h ../config.h \
../cpu/lazy_flags.h ../disasm/disasm.h ../config.h \
crregs.h descriptor.h icache.h apic.h ../cpu/i387.h ../fpu/softfloat.h \
../config.h ../fpu/tag_w.h ../fpu/status_w.h ../fpu/control_w.h \
../cpu/xmm.h
@ -314,7 +314,7 @@ ctrl_xfer_pro.o: ctrl_xfer_pro.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h \
../gui/siminterface.h ../memory/memory.h ../pc_system.h ../plugin.h \
../extplugin.h ../gui/gui.h ../gui/textconfig.h ../config.h \
../gui/keymap.h ../instrument/stubs/instrument.h cpu.h \
../cpu/lazy_flags.h ../cpu/hostasm.h ../disasm/disasm.h ../config.h \
../cpu/lazy_flags.h ../disasm/disasm.h ../config.h \
crregs.h descriptor.h icache.h apic.h ../cpu/i387.h ../fpu/softfloat.h \
../config.h ../fpu/tag_w.h ../fpu/status_w.h ../fpu/control_w.h \
../cpu/xmm.h
@ -323,7 +323,7 @@ data_xfer16.o: data_xfer16.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h \
../gui/siminterface.h ../memory/memory.h ../pc_system.h ../plugin.h \
../extplugin.h ../gui/gui.h ../gui/textconfig.h ../config.h \
../gui/keymap.h ../instrument/stubs/instrument.h cpu.h \
../cpu/lazy_flags.h ../cpu/hostasm.h ../disasm/disasm.h ../config.h \
../cpu/lazy_flags.h ../disasm/disasm.h ../config.h \
crregs.h descriptor.h icache.h apic.h ../cpu/i387.h ../fpu/softfloat.h \
../config.h ../fpu/tag_w.h ../fpu/status_w.h ../fpu/control_w.h \
../cpu/xmm.h
@ -332,7 +332,7 @@ data_xfer32.o: data_xfer32.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h \
../gui/siminterface.h ../memory/memory.h ../pc_system.h ../plugin.h \
../extplugin.h ../gui/gui.h ../gui/textconfig.h ../config.h \
../gui/keymap.h ../instrument/stubs/instrument.h cpu.h \
../cpu/lazy_flags.h ../cpu/hostasm.h ../disasm/disasm.h ../config.h \
../cpu/lazy_flags.h ../disasm/disasm.h ../config.h \
crregs.h descriptor.h icache.h apic.h ../cpu/i387.h ../fpu/softfloat.h \
../config.h ../fpu/tag_w.h ../fpu/status_w.h ../fpu/control_w.h \
../cpu/xmm.h
@ -341,7 +341,7 @@ data_xfer64.o: data_xfer64.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h \
../gui/siminterface.h ../memory/memory.h ../pc_system.h ../plugin.h \
../extplugin.h ../gui/gui.h ../gui/textconfig.h ../config.h \
../gui/keymap.h ../instrument/stubs/instrument.h cpu.h \
../cpu/lazy_flags.h ../cpu/hostasm.h ../disasm/disasm.h ../config.h \
../cpu/lazy_flags.h ../disasm/disasm.h ../config.h \
crregs.h descriptor.h icache.h apic.h ../cpu/i387.h ../fpu/softfloat.h \
../config.h ../fpu/tag_w.h ../fpu/status_w.h ../fpu/control_w.h \
../cpu/xmm.h
@ -350,7 +350,7 @@ data_xfer8.o: data_xfer8.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h \
../gui/siminterface.h ../memory/memory.h ../pc_system.h ../plugin.h \
../extplugin.h ../gui/gui.h ../gui/textconfig.h ../config.h \
../gui/keymap.h ../instrument/stubs/instrument.h cpu.h \
../cpu/lazy_flags.h ../cpu/hostasm.h ../disasm/disasm.h ../config.h \
../cpu/lazy_flags.h ../disasm/disasm.h ../config.h \
crregs.h descriptor.h icache.h apic.h ../cpu/i387.h ../fpu/softfloat.h \
../config.h ../fpu/tag_w.h ../fpu/status_w.h ../fpu/control_w.h \
../cpu/xmm.h
@ -359,7 +359,7 @@ debugstuff.o: debugstuff.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h \
../gui/siminterface.h ../memory/memory.h ../pc_system.h ../plugin.h \
../extplugin.h ../gui/gui.h ../gui/textconfig.h ../config.h \
../gui/keymap.h ../instrument/stubs/instrument.h cpu.h \
../cpu/lazy_flags.h ../cpu/hostasm.h ../disasm/disasm.h ../config.h \
../cpu/lazy_flags.h ../disasm/disasm.h ../config.h \
crregs.h descriptor.h icache.h apic.h ../cpu/i387.h ../fpu/softfloat.h \
../config.h ../fpu/tag_w.h ../fpu/status_w.h ../fpu/control_w.h \
../cpu/xmm.h
@ -368,7 +368,7 @@ exception.o: exception.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h \
../gui/siminterface.h ../memory/memory.h ../pc_system.h ../plugin.h \
../extplugin.h ../gui/gui.h ../gui/textconfig.h ../config.h \
../gui/keymap.h ../instrument/stubs/instrument.h cpu.h \
../cpu/lazy_flags.h ../cpu/hostasm.h ../disasm/disasm.h ../config.h \
../cpu/lazy_flags.h ../disasm/disasm.h ../config.h \
crregs.h descriptor.h icache.h apic.h ../cpu/i387.h ../fpu/softfloat.h \
../config.h ../fpu/tag_w.h ../fpu/status_w.h ../fpu/control_w.h \
../cpu/xmm.h ../iodev/iodev.h ../bochs.h ../iodev/pci.h \
@ -385,7 +385,7 @@ fetchdecode.o: fetchdecode.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h \
../gui/siminterface.h ../memory/memory.h ../pc_system.h ../plugin.h \
../extplugin.h ../gui/gui.h ../gui/textconfig.h ../config.h \
../gui/keymap.h ../instrument/stubs/instrument.h cpu.h \
../cpu/lazy_flags.h ../cpu/hostasm.h ../disasm/disasm.h ../config.h \
../cpu/lazy_flags.h ../disasm/disasm.h ../config.h \
crregs.h descriptor.h icache.h apic.h ../cpu/i387.h ../fpu/softfloat.h \
../config.h ../fpu/tag_w.h ../fpu/status_w.h ../fpu/control_w.h \
../cpu/xmm.h fetchdecode.h
@ -394,7 +394,7 @@ fetchdecode64.o: fetchdecode64.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h \
../gui/siminterface.h ../memory/memory.h ../pc_system.h ../plugin.h \
../extplugin.h ../gui/gui.h ../gui/textconfig.h ../config.h \
../gui/keymap.h ../instrument/stubs/instrument.h cpu.h \
../cpu/lazy_flags.h ../cpu/hostasm.h ../disasm/disasm.h ../config.h \
../cpu/lazy_flags.h ../disasm/disasm.h ../config.h \
crregs.h descriptor.h icache.h apic.h ../cpu/i387.h ../fpu/softfloat.h \
../config.h ../fpu/tag_w.h ../fpu/status_w.h ../fpu/control_w.h \
../cpu/xmm.h fetchdecode.h
@ -403,7 +403,7 @@ flag_ctrl.o: flag_ctrl.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h \
../gui/siminterface.h ../memory/memory.h ../pc_system.h ../plugin.h \
../extplugin.h ../gui/gui.h ../gui/textconfig.h ../config.h \
../gui/keymap.h ../instrument/stubs/instrument.h cpu.h \
../cpu/lazy_flags.h ../cpu/hostasm.h ../disasm/disasm.h ../config.h \
../cpu/lazy_flags.h ../disasm/disasm.h ../config.h \
crregs.h descriptor.h icache.h apic.h ../cpu/i387.h ../fpu/softfloat.h \
../config.h ../fpu/tag_w.h ../fpu/status_w.h ../fpu/control_w.h \
../cpu/xmm.h
@ -412,7 +412,7 @@ flag_ctrl_pro.o: flag_ctrl_pro.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h \
../gui/siminterface.h ../memory/memory.h ../pc_system.h ../plugin.h \
../extplugin.h ../gui/gui.h ../gui/textconfig.h ../config.h \
../gui/keymap.h ../instrument/stubs/instrument.h cpu.h \
../cpu/lazy_flags.h ../cpu/hostasm.h ../disasm/disasm.h ../config.h \
../cpu/lazy_flags.h ../disasm/disasm.h ../config.h \
crregs.h descriptor.h icache.h apic.h ../cpu/i387.h ../fpu/softfloat.h \
../config.h ../fpu/tag_w.h ../fpu/status_w.h ../fpu/control_w.h \
../cpu/xmm.h
@ -421,7 +421,7 @@ fpu_emu.o: fpu_emu.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h \
../gui/siminterface.h ../memory/memory.h ../pc_system.h ../plugin.h \
../extplugin.h ../gui/gui.h ../gui/textconfig.h ../config.h \
../gui/keymap.h ../instrument/stubs/instrument.h cpu.h \
../cpu/lazy_flags.h ../cpu/hostasm.h ../disasm/disasm.h ../config.h \
../cpu/lazy_flags.h ../disasm/disasm.h ../config.h \
crregs.h descriptor.h icache.h apic.h ../cpu/i387.h ../fpu/softfloat.h \
../config.h ../fpu/tag_w.h ../fpu/status_w.h ../fpu/control_w.h \
../cpu/xmm.h
@ -430,7 +430,7 @@ init.o: init.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h ../bx_debug/debug.h
../memory/memory.h ../pc_system.h ../plugin.h ../extplugin.h \
../gui/gui.h ../gui/textconfig.h ../config.h ../gui/keymap.h \
../instrument/stubs/instrument.h cpu.h ../cpu/lazy_flags.h \
../cpu/hostasm.h ../disasm/disasm.h ../config.h crregs.h descriptor.h \
../disasm/disasm.h ../config.h crregs.h descriptor.h \
icache.h apic.h ../cpu/i387.h ../fpu/softfloat.h ../config.h \
../fpu/tag_w.h ../fpu/status_w.h ../fpu/control_w.h ../cpu/xmm.h
io.o: io.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h ../bx_debug/debug.h \
@ -438,7 +438,7 @@ io.o: io.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h ../bx_debug/debug.h \
../memory/memory.h ../pc_system.h ../plugin.h ../extplugin.h \
../gui/gui.h ../gui/textconfig.h ../config.h ../gui/keymap.h \
../instrument/stubs/instrument.h cpu.h ../cpu/lazy_flags.h \
../cpu/hostasm.h ../disasm/disasm.h ../config.h crregs.h descriptor.h \
../disasm/disasm.h ../config.h crregs.h descriptor.h \
icache.h apic.h ../cpu/i387.h ../fpu/softfloat.h ../config.h \
../fpu/tag_w.h ../fpu/status_w.h ../fpu/control_w.h ../cpu/xmm.h \
../iodev/iodev.h ../bochs.h ../iodev/pci.h ../iodev/pci2isa.h \
@ -455,7 +455,7 @@ io_pro.o: io_pro.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h ../bx_debug/debu
../memory/memory.h ../pc_system.h ../plugin.h ../extplugin.h \
../gui/gui.h ../gui/textconfig.h ../config.h ../gui/keymap.h \
../instrument/stubs/instrument.h cpu.h ../cpu/lazy_flags.h \
../cpu/hostasm.h ../disasm/disasm.h ../config.h crregs.h descriptor.h \
../disasm/disasm.h ../config.h crregs.h descriptor.h \
icache.h apic.h ../cpu/i387.h ../fpu/softfloat.h ../config.h \
../fpu/tag_w.h ../fpu/status_w.h ../fpu/control_w.h ../cpu/xmm.h \
../iodev/iodev.h ../bochs.h ../iodev/pci.h ../iodev/pci2isa.h \
@ -472,7 +472,7 @@ iret.o: iret.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h ../bx_debug/debug.h
../memory/memory.h ../pc_system.h ../plugin.h ../extplugin.h \
../gui/gui.h ../gui/textconfig.h ../config.h ../gui/keymap.h \
../instrument/stubs/instrument.h cpu.h ../cpu/lazy_flags.h \
../cpu/hostasm.h ../disasm/disasm.h ../config.h crregs.h descriptor.h \
../disasm/disasm.h ../config.h crregs.h descriptor.h \
icache.h apic.h ../cpu/i387.h ../fpu/softfloat.h ../config.h \
../fpu/tag_w.h ../fpu/status_w.h ../fpu/control_w.h ../cpu/xmm.h
jmp_far.o: jmp_far.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h \
@ -480,7 +480,7 @@ jmp_far.o: jmp_far.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h \
../gui/siminterface.h ../memory/memory.h ../pc_system.h ../plugin.h \
../extplugin.h ../gui/gui.h ../gui/textconfig.h ../config.h \
../gui/keymap.h ../instrument/stubs/instrument.h cpu.h \
../cpu/lazy_flags.h ../cpu/hostasm.h ../disasm/disasm.h ../config.h \
../cpu/lazy_flags.h ../disasm/disasm.h ../config.h \
crregs.h descriptor.h icache.h apic.h ../cpu/i387.h ../fpu/softfloat.h \
../config.h ../fpu/tag_w.h ../fpu/status_w.h ../fpu/control_w.h \
../cpu/xmm.h
@ -489,7 +489,7 @@ lazy_flags.o: lazy_flags.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h \
../gui/siminterface.h ../memory/memory.h ../pc_system.h ../plugin.h \
../extplugin.h ../gui/gui.h ../gui/textconfig.h ../config.h \
../gui/keymap.h ../instrument/stubs/instrument.h cpu.h \
../cpu/lazy_flags.h ../cpu/hostasm.h ../disasm/disasm.h ../config.h \
../cpu/lazy_flags.h ../disasm/disasm.h ../config.h \
crregs.h descriptor.h icache.h apic.h ../cpu/i387.h ../fpu/softfloat.h \
../config.h ../fpu/tag_w.h ../fpu/status_w.h ../fpu/control_w.h \
../cpu/xmm.h
@ -498,7 +498,7 @@ logical16.o: logical16.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h \
../gui/siminterface.h ../memory/memory.h ../pc_system.h ../plugin.h \
../extplugin.h ../gui/gui.h ../gui/textconfig.h ../config.h \
../gui/keymap.h ../instrument/stubs/instrument.h cpu.h \
../cpu/lazy_flags.h ../cpu/hostasm.h ../disasm/disasm.h ../config.h \
../cpu/lazy_flags.h ../disasm/disasm.h ../config.h \
crregs.h descriptor.h icache.h apic.h ../cpu/i387.h ../fpu/softfloat.h \
../config.h ../fpu/tag_w.h ../fpu/status_w.h ../fpu/control_w.h \
../cpu/xmm.h
@ -507,7 +507,7 @@ logical32.o: logical32.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h \
../gui/siminterface.h ../memory/memory.h ../pc_system.h ../plugin.h \
../extplugin.h ../gui/gui.h ../gui/textconfig.h ../config.h \
../gui/keymap.h ../instrument/stubs/instrument.h cpu.h \
../cpu/lazy_flags.h ../cpu/hostasm.h ../disasm/disasm.h ../config.h \
../cpu/lazy_flags.h ../disasm/disasm.h ../config.h \
crregs.h descriptor.h icache.h apic.h ../cpu/i387.h ../fpu/softfloat.h \
../config.h ../fpu/tag_w.h ../fpu/status_w.h ../fpu/control_w.h \
../cpu/xmm.h
@ -516,7 +516,7 @@ logical64.o: logical64.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h \
../gui/siminterface.h ../memory/memory.h ../pc_system.h ../plugin.h \
../extplugin.h ../gui/gui.h ../gui/textconfig.h ../config.h \
../gui/keymap.h ../instrument/stubs/instrument.h cpu.h \
../cpu/lazy_flags.h ../cpu/hostasm.h ../disasm/disasm.h ../config.h \
../cpu/lazy_flags.h ../disasm/disasm.h ../config.h \
crregs.h descriptor.h icache.h apic.h ../cpu/i387.h ../fpu/softfloat.h \
../config.h ../fpu/tag_w.h ../fpu/status_w.h ../fpu/control_w.h \
../cpu/xmm.h
@ -525,7 +525,7 @@ logical8.o: logical8.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h \
../gui/siminterface.h ../memory/memory.h ../pc_system.h ../plugin.h \
../extplugin.h ../gui/gui.h ../gui/textconfig.h ../config.h \
../gui/keymap.h ../instrument/stubs/instrument.h cpu.h \
../cpu/lazy_flags.h ../cpu/hostasm.h ../disasm/disasm.h ../config.h \
../cpu/lazy_flags.h ../disasm/disasm.h ../config.h \
crregs.h descriptor.h icache.h apic.h ../cpu/i387.h ../fpu/softfloat.h \
../config.h ../fpu/tag_w.h ../fpu/status_w.h ../fpu/control_w.h \
../cpu/xmm.h
@ -534,7 +534,7 @@ mmx.o: mmx.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h ../bx_debug/debug.h \
../memory/memory.h ../pc_system.h ../plugin.h ../extplugin.h \
../gui/gui.h ../gui/textconfig.h ../config.h ../gui/keymap.h \
../instrument/stubs/instrument.h cpu.h ../cpu/lazy_flags.h \
../cpu/hostasm.h ../disasm/disasm.h ../config.h crregs.h descriptor.h \
../disasm/disasm.h ../config.h crregs.h descriptor.h \
icache.h apic.h ../cpu/i387.h ../fpu/softfloat.h ../config.h \
../fpu/tag_w.h ../fpu/status_w.h ../fpu/control_w.h ../cpu/xmm.h
mult16.o: mult16.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h ../bx_debug/debug.h \
@ -542,7 +542,7 @@ mult16.o: mult16.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h ../bx_debug/debu
../memory/memory.h ../pc_system.h ../plugin.h ../extplugin.h \
../gui/gui.h ../gui/textconfig.h ../config.h ../gui/keymap.h \
../instrument/stubs/instrument.h cpu.h ../cpu/lazy_flags.h \
../cpu/hostasm.h ../disasm/disasm.h ../config.h crregs.h descriptor.h \
../disasm/disasm.h ../config.h crregs.h descriptor.h \
icache.h apic.h ../cpu/i387.h ../fpu/softfloat.h ../config.h \
../fpu/tag_w.h ../fpu/status_w.h ../fpu/control_w.h ../cpu/xmm.h
mult32.o: mult32.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h ../bx_debug/debug.h \
@ -550,7 +550,7 @@ mult32.o: mult32.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h ../bx_debug/debu
../memory/memory.h ../pc_system.h ../plugin.h ../extplugin.h \
../gui/gui.h ../gui/textconfig.h ../config.h ../gui/keymap.h \
../instrument/stubs/instrument.h cpu.h ../cpu/lazy_flags.h \
../cpu/hostasm.h ../disasm/disasm.h ../config.h crregs.h descriptor.h \
../disasm/disasm.h ../config.h crregs.h descriptor.h \
icache.h apic.h ../cpu/i387.h ../fpu/softfloat.h ../config.h \
../fpu/tag_w.h ../fpu/status_w.h ../fpu/control_w.h ../cpu/xmm.h
mult64.o: mult64.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h ../bx_debug/debug.h \
@ -558,7 +558,7 @@ mult64.o: mult64.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h ../bx_debug/debu
../memory/memory.h ../pc_system.h ../plugin.h ../extplugin.h \
../gui/gui.h ../gui/textconfig.h ../config.h ../gui/keymap.h \
../instrument/stubs/instrument.h cpu.h ../cpu/lazy_flags.h \
../cpu/hostasm.h ../disasm/disasm.h ../config.h crregs.h descriptor.h \
../disasm/disasm.h ../config.h crregs.h descriptor.h \
icache.h apic.h ../cpu/i387.h ../fpu/softfloat.h ../config.h \
../fpu/tag_w.h ../fpu/status_w.h ../fpu/control_w.h ../cpu/xmm.h
mult8.o: mult8.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h ../bx_debug/debug.h \
@ -566,7 +566,7 @@ mult8.o: mult8.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h ../bx_debug/debug.
../memory/memory.h ../pc_system.h ../plugin.h ../extplugin.h \
../gui/gui.h ../gui/textconfig.h ../config.h ../gui/keymap.h \
../instrument/stubs/instrument.h cpu.h ../cpu/lazy_flags.h \
../cpu/hostasm.h ../disasm/disasm.h ../config.h crregs.h descriptor.h \
../disasm/disasm.h ../config.h crregs.h descriptor.h \
icache.h apic.h ../cpu/i387.h ../fpu/softfloat.h ../config.h \
../fpu/tag_w.h ../fpu/status_w.h ../fpu/control_w.h ../cpu/xmm.h
paging.o: paging.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h ../bx_debug/debug.h \
@ -574,7 +574,7 @@ paging.o: paging.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h ../bx_debug/debu
../memory/memory.h ../pc_system.h ../plugin.h ../extplugin.h \
../gui/gui.h ../gui/textconfig.h ../config.h ../gui/keymap.h \
../instrument/stubs/instrument.h cpu.h ../cpu/lazy_flags.h \
../cpu/hostasm.h ../disasm/disasm.h ../config.h crregs.h descriptor.h \
../disasm/disasm.h ../config.h crregs.h descriptor.h \
icache.h apic.h ../cpu/i387.h ../fpu/softfloat.h ../config.h \
../fpu/tag_w.h ../fpu/status_w.h ../fpu/control_w.h ../cpu/xmm.h
proc_ctrl.o: proc_ctrl.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h \
@ -582,7 +582,7 @@ proc_ctrl.o: proc_ctrl.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h \
../gui/siminterface.h ../memory/memory.h ../pc_system.h ../plugin.h \
../extplugin.h ../gui/gui.h ../gui/textconfig.h ../config.h \
../gui/keymap.h ../instrument/stubs/instrument.h cpu.h \
../cpu/lazy_flags.h ../cpu/hostasm.h ../disasm/disasm.h ../config.h \
../cpu/lazy_flags.h ../disasm/disasm.h ../config.h \
crregs.h descriptor.h icache.h apic.h ../cpu/i387.h ../fpu/softfloat.h \
../config.h ../fpu/tag_w.h ../fpu/status_w.h ../fpu/control_w.h \
../cpu/xmm.h
@ -591,7 +591,7 @@ protect_ctrl.o: protect_ctrl.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h \
../gui/siminterface.h ../memory/memory.h ../pc_system.h ../plugin.h \
../extplugin.h ../gui/gui.h ../gui/textconfig.h ../config.h \
../gui/keymap.h ../instrument/stubs/instrument.h cpu.h \
../cpu/lazy_flags.h ../cpu/hostasm.h ../disasm/disasm.h ../config.h \
../cpu/lazy_flags.h ../disasm/disasm.h ../config.h \
crregs.h descriptor.h icache.h apic.h ../cpu/i387.h ../fpu/softfloat.h \
../config.h ../fpu/tag_w.h ../fpu/status_w.h ../fpu/control_w.h \
../cpu/xmm.h
@ -600,7 +600,7 @@ resolve16.o: resolve16.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h \
../gui/siminterface.h ../memory/memory.h ../pc_system.h ../plugin.h \
../extplugin.h ../gui/gui.h ../gui/textconfig.h ../config.h \
../gui/keymap.h ../instrument/stubs/instrument.h cpu.h \
../cpu/lazy_flags.h ../cpu/hostasm.h ../disasm/disasm.h ../config.h \
../cpu/lazy_flags.h ../disasm/disasm.h ../config.h \
crregs.h descriptor.h icache.h apic.h ../cpu/i387.h ../fpu/softfloat.h \
../config.h ../fpu/tag_w.h ../fpu/status_w.h ../fpu/control_w.h \
../cpu/xmm.h
@ -609,7 +609,7 @@ resolve32.o: resolve32.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h \
../gui/siminterface.h ../memory/memory.h ../pc_system.h ../plugin.h \
../extplugin.h ../gui/gui.h ../gui/textconfig.h ../config.h \
../gui/keymap.h ../instrument/stubs/instrument.h cpu.h \
../cpu/lazy_flags.h ../cpu/hostasm.h ../disasm/disasm.h ../config.h \
../cpu/lazy_flags.h ../disasm/disasm.h ../config.h \
crregs.h descriptor.h icache.h apic.h ../cpu/i387.h ../fpu/softfloat.h \
../config.h ../fpu/tag_w.h ../fpu/status_w.h ../fpu/control_w.h \
../cpu/xmm.h
@ -618,7 +618,7 @@ resolve64.o: resolve64.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h \
../gui/siminterface.h ../memory/memory.h ../pc_system.h ../plugin.h \
../extplugin.h ../gui/gui.h ../gui/textconfig.h ../config.h \
../gui/keymap.h ../instrument/stubs/instrument.h cpu.h \
../cpu/lazy_flags.h ../cpu/hostasm.h ../disasm/disasm.h ../config.h \
../cpu/lazy_flags.h ../disasm/disasm.h ../config.h \
crregs.h descriptor.h icache.h apic.h ../cpu/i387.h ../fpu/softfloat.h \
../config.h ../fpu/tag_w.h ../fpu/status_w.h ../fpu/control_w.h \
../cpu/xmm.h
@ -627,7 +627,7 @@ ret_far.o: ret_far.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h \
../gui/siminterface.h ../memory/memory.h ../pc_system.h ../plugin.h \
../extplugin.h ../gui/gui.h ../gui/textconfig.h ../config.h \
../gui/keymap.h ../instrument/stubs/instrument.h cpu.h \
../cpu/lazy_flags.h ../cpu/hostasm.h ../disasm/disasm.h ../config.h \
../cpu/lazy_flags.h ../disasm/disasm.h ../config.h \
crregs.h descriptor.h icache.h apic.h ../cpu/i387.h ../fpu/softfloat.h \
../config.h ../fpu/tag_w.h ../fpu/status_w.h ../fpu/control_w.h \
../cpu/xmm.h
@ -636,7 +636,7 @@ segment_ctrl.o: segment_ctrl.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h \
../gui/siminterface.h ../memory/memory.h ../pc_system.h ../plugin.h \
../extplugin.h ../gui/gui.h ../gui/textconfig.h ../config.h \
../gui/keymap.h ../instrument/stubs/instrument.h cpu.h \
../cpu/lazy_flags.h ../cpu/hostasm.h ../disasm/disasm.h ../config.h \
../cpu/lazy_flags.h ../disasm/disasm.h ../config.h \
crregs.h descriptor.h icache.h apic.h ../cpu/i387.h ../fpu/softfloat.h \
../config.h ../fpu/tag_w.h ../fpu/status_w.h ../fpu/control_w.h \
../cpu/xmm.h
@ -645,7 +645,7 @@ segment_ctrl_pro.o: segment_ctrl_pro.@CPP_SUFFIX@ ../bochs.h ../config.h ../osde
../gui/siminterface.h ../memory/memory.h ../pc_system.h ../plugin.h \
../extplugin.h ../gui/gui.h ../gui/textconfig.h ../config.h \
../gui/keymap.h ../instrument/stubs/instrument.h cpu.h \
../cpu/lazy_flags.h ../cpu/hostasm.h ../disasm/disasm.h ../config.h \
../cpu/lazy_flags.h ../disasm/disasm.h ../config.h \
crregs.h descriptor.h icache.h apic.h ../cpu/i387.h ../fpu/softfloat.h \
../config.h ../fpu/tag_w.h ../fpu/status_w.h ../fpu/control_w.h \
../cpu/xmm.h
@ -654,7 +654,7 @@ shift16.o: shift16.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h \
../gui/siminterface.h ../memory/memory.h ../pc_system.h ../plugin.h \
../extplugin.h ../gui/gui.h ../gui/textconfig.h ../config.h \
../gui/keymap.h ../instrument/stubs/instrument.h cpu.h \
../cpu/lazy_flags.h ../cpu/hostasm.h ../disasm/disasm.h ../config.h \
../cpu/lazy_flags.h ../disasm/disasm.h ../config.h \
crregs.h descriptor.h icache.h apic.h ../cpu/i387.h ../fpu/softfloat.h \
../config.h ../fpu/tag_w.h ../fpu/status_w.h ../fpu/control_w.h \
../cpu/xmm.h
@ -663,7 +663,7 @@ shift32.o: shift32.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h \
../gui/siminterface.h ../memory/memory.h ../pc_system.h ../plugin.h \
../extplugin.h ../gui/gui.h ../gui/textconfig.h ../config.h \
../gui/keymap.h ../instrument/stubs/instrument.h cpu.h \
../cpu/lazy_flags.h ../cpu/hostasm.h ../disasm/disasm.h ../config.h \
../cpu/lazy_flags.h ../disasm/disasm.h ../config.h \
crregs.h descriptor.h icache.h apic.h ../cpu/i387.h ../fpu/softfloat.h \
../config.h ../fpu/tag_w.h ../fpu/status_w.h ../fpu/control_w.h \
../cpu/xmm.h
@ -672,7 +672,7 @@ shift64.o: shift64.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h \
../gui/siminterface.h ../memory/memory.h ../pc_system.h ../plugin.h \
../extplugin.h ../gui/gui.h ../gui/textconfig.h ../config.h \
../gui/keymap.h ../instrument/stubs/instrument.h cpu.h \
../cpu/lazy_flags.h ../cpu/hostasm.h ../disasm/disasm.h ../config.h \
../cpu/lazy_flags.h ../disasm/disasm.h ../config.h \
crregs.h descriptor.h icache.h apic.h ../cpu/i387.h ../fpu/softfloat.h \
../config.h ../fpu/tag_w.h ../fpu/status_w.h ../fpu/control_w.h \
../cpu/xmm.h
@ -681,7 +681,7 @@ shift8.o: shift8.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h ../bx_debug/debu
../memory/memory.h ../pc_system.h ../plugin.h ../extplugin.h \
../gui/gui.h ../gui/textconfig.h ../config.h ../gui/keymap.h \
../instrument/stubs/instrument.h cpu.h ../cpu/lazy_flags.h \
../cpu/hostasm.h ../disasm/disasm.h ../config.h crregs.h descriptor.h \
../disasm/disasm.h ../config.h crregs.h descriptor.h \
icache.h apic.h ../cpu/i387.h ../fpu/softfloat.h ../config.h \
../fpu/tag_w.h ../fpu/status_w.h ../fpu/control_w.h ../cpu/xmm.h
smm.o: smm.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h ../bx_debug/debug.h \
@ -689,7 +689,7 @@ smm.o: smm.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h ../bx_debug/debug.h \
../memory/memory.h ../pc_system.h ../plugin.h ../extplugin.h \
../gui/gui.h ../gui/textconfig.h ../config.h ../gui/keymap.h \
../instrument/stubs/instrument.h cpu.h ../cpu/lazy_flags.h \
../cpu/hostasm.h ../disasm/disasm.h ../config.h crregs.h descriptor.h \
../disasm/disasm.h ../config.h crregs.h descriptor.h \
icache.h apic.h ../cpu/i387.h ../fpu/softfloat.h ../config.h \
../fpu/tag_w.h ../fpu/status_w.h ../fpu/control_w.h ../cpu/xmm.h smm.h
soft_int.o: soft_int.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h \
@ -697,7 +697,7 @@ soft_int.o: soft_int.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h \
../gui/siminterface.h ../memory/memory.h ../pc_system.h ../plugin.h \
../extplugin.h ../gui/gui.h ../gui/textconfig.h ../config.h \
../gui/keymap.h ../instrument/stubs/instrument.h cpu.h \
../cpu/lazy_flags.h ../cpu/hostasm.h ../disasm/disasm.h ../config.h \
../cpu/lazy_flags.h ../disasm/disasm.h ../config.h \
crregs.h descriptor.h icache.h apic.h ../cpu/i387.h ../fpu/softfloat.h \
../config.h ../fpu/tag_w.h ../fpu/status_w.h ../fpu/control_w.h \
../cpu/xmm.h
@ -706,7 +706,7 @@ sse.o: sse.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h ../bx_debug/debug.h \
../memory/memory.h ../pc_system.h ../plugin.h ../extplugin.h \
../gui/gui.h ../gui/textconfig.h ../config.h ../gui/keymap.h \
../instrument/stubs/instrument.h cpu.h ../cpu/lazy_flags.h \
../cpu/hostasm.h ../disasm/disasm.h ../config.h crregs.h descriptor.h \
../disasm/disasm.h ../config.h crregs.h descriptor.h \
icache.h apic.h ../cpu/i387.h ../fpu/softfloat.h ../config.h \
../fpu/tag_w.h ../fpu/status_w.h ../fpu/control_w.h ../cpu/xmm.h
sse_move.o: sse_move.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h \
@ -714,7 +714,7 @@ sse_move.o: sse_move.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h \
../gui/siminterface.h ../memory/memory.h ../pc_system.h ../plugin.h \
../extplugin.h ../gui/gui.h ../gui/textconfig.h ../config.h \
../gui/keymap.h ../instrument/stubs/instrument.h cpu.h \
../cpu/lazy_flags.h ../cpu/hostasm.h ../disasm/disasm.h ../config.h \
../cpu/lazy_flags.h ../disasm/disasm.h ../config.h \
crregs.h descriptor.h icache.h apic.h ../cpu/i387.h ../fpu/softfloat.h \
../config.h ../fpu/tag_w.h ../fpu/status_w.h ../fpu/control_w.h \
../cpu/xmm.h
@ -723,7 +723,7 @@ sse_pfp.o: sse_pfp.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h \
../gui/siminterface.h ../memory/memory.h ../pc_system.h ../plugin.h \
../extplugin.h ../gui/gui.h ../gui/textconfig.h ../config.h \
../gui/keymap.h ../instrument/stubs/instrument.h cpu.h \
../cpu/lazy_flags.h ../cpu/hostasm.h ../disasm/disasm.h ../config.h \
../cpu/lazy_flags.h ../disasm/disasm.h ../config.h \
crregs.h descriptor.h icache.h apic.h ../cpu/i387.h ../fpu/softfloat.h \
../config.h ../fpu/tag_w.h ../fpu/status_w.h ../fpu/control_w.h \
../cpu/xmm.h ../fpu/softfloat-specialize.h ../fpu/softfloat.h
@ -732,7 +732,7 @@ sse_rcp.o: sse_rcp.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h \
../gui/siminterface.h ../memory/memory.h ../pc_system.h ../plugin.h \
../extplugin.h ../gui/gui.h ../gui/textconfig.h ../config.h \
../gui/keymap.h ../instrument/stubs/instrument.h cpu.h \
../cpu/lazy_flags.h ../cpu/hostasm.h ../disasm/disasm.h ../config.h \
../cpu/lazy_flags.h ../disasm/disasm.h ../config.h \
crregs.h descriptor.h icache.h apic.h ../cpu/i387.h ../fpu/softfloat.h \
../config.h ../fpu/tag_w.h ../fpu/status_w.h ../fpu/control_w.h \
../cpu/xmm.h ../fpu/softfloat-specialize.h ../fpu/softfloat.h
@ -741,7 +741,7 @@ sse_string.o: sse_string.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h \
../gui/siminterface.h ../memory/memory.h ../pc_system.h ../plugin.h \
../extplugin.h ../gui/gui.h ../gui/textconfig.h ../config.h \
../gui/keymap.h ../instrument/stubs/instrument.h cpu.h \
../cpu/lazy_flags.h ../cpu/hostasm.h ../disasm/disasm.h ../config.h \
../cpu/lazy_flags.h ../disasm/disasm.h ../config.h \
crregs.h descriptor.h icache.h apic.h ../cpu/i387.h ../fpu/softfloat.h \
../config.h ../fpu/tag_w.h ../fpu/status_w.h ../fpu/control_w.h \
../cpu/xmm.h ../fpu/softfloat-specialize.h ../fpu/softfloat.h
@ -750,7 +750,7 @@ stack16.o: stack16.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h \
../gui/siminterface.h ../memory/memory.h ../pc_system.h ../plugin.h \
../extplugin.h ../gui/gui.h ../gui/textconfig.h ../config.h \
../gui/keymap.h ../instrument/stubs/instrument.h cpu.h \
../cpu/lazy_flags.h ../cpu/hostasm.h ../disasm/disasm.h ../config.h \
../cpu/lazy_flags.h ../disasm/disasm.h ../config.h \
crregs.h descriptor.h icache.h apic.h ../cpu/i387.h ../fpu/softfloat.h \
../config.h ../fpu/tag_w.h ../fpu/status_w.h ../fpu/control_w.h \
../cpu/xmm.h
@ -759,7 +759,7 @@ stack32.o: stack32.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h \
../gui/siminterface.h ../memory/memory.h ../pc_system.h ../plugin.h \
../extplugin.h ../gui/gui.h ../gui/textconfig.h ../config.h \
../gui/keymap.h ../instrument/stubs/instrument.h cpu.h \
../cpu/lazy_flags.h ../cpu/hostasm.h ../disasm/disasm.h ../config.h \
../cpu/lazy_flags.h ../disasm/disasm.h ../config.h \
crregs.h descriptor.h icache.h apic.h ../cpu/i387.h ../fpu/softfloat.h \
../config.h ../fpu/tag_w.h ../fpu/status_w.h ../fpu/control_w.h \
../cpu/xmm.h
@ -768,7 +768,7 @@ stack64.o: stack64.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h \
../gui/siminterface.h ../memory/memory.h ../pc_system.h ../plugin.h \
../extplugin.h ../gui/gui.h ../gui/textconfig.h ../config.h \
../gui/keymap.h ../instrument/stubs/instrument.h cpu.h \
../cpu/lazy_flags.h ../cpu/hostasm.h ../disasm/disasm.h ../config.h \
../cpu/lazy_flags.h ../disasm/disasm.h ../config.h \
crregs.h descriptor.h icache.h apic.h ../cpu/i387.h ../fpu/softfloat.h \
../config.h ../fpu/tag_w.h ../fpu/status_w.h ../fpu/control_w.h \
../cpu/xmm.h
@ -777,7 +777,7 @@ stack_pro.o: stack_pro.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h \
../gui/siminterface.h ../memory/memory.h ../pc_system.h ../plugin.h \
../extplugin.h ../gui/gui.h ../gui/textconfig.h ../config.h \
../gui/keymap.h ../instrument/stubs/instrument.h cpu.h \
../cpu/lazy_flags.h ../cpu/hostasm.h ../disasm/disasm.h ../config.h \
../cpu/lazy_flags.h ../disasm/disasm.h ../config.h \
crregs.h descriptor.h icache.h apic.h ../cpu/i387.h ../fpu/softfloat.h \
../config.h ../fpu/tag_w.h ../fpu/status_w.h ../fpu/control_w.h \
../cpu/xmm.h
@ -786,7 +786,7 @@ string.o: string.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h ../bx_debug/debu
../memory/memory.h ../pc_system.h ../plugin.h ../extplugin.h \
../gui/gui.h ../gui/textconfig.h ../config.h ../gui/keymap.h \
../instrument/stubs/instrument.h cpu.h ../cpu/lazy_flags.h \
../cpu/hostasm.h ../disasm/disasm.h ../config.h crregs.h descriptor.h \
../disasm/disasm.h ../config.h crregs.h descriptor.h \
icache.h apic.h ../cpu/i387.h ../fpu/softfloat.h ../config.h \
../fpu/tag_w.h ../fpu/status_w.h ../fpu/control_w.h ../cpu/xmm.h
tasking.o: tasking.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h \
@ -794,7 +794,7 @@ tasking.o: tasking.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h \
../gui/siminterface.h ../memory/memory.h ../pc_system.h ../plugin.h \
../extplugin.h ../gui/gui.h ../gui/textconfig.h ../config.h \
../gui/keymap.h ../instrument/stubs/instrument.h cpu.h \
../cpu/lazy_flags.h ../cpu/hostasm.h ../disasm/disasm.h ../config.h \
../cpu/lazy_flags.h ../disasm/disasm.h ../config.h \
crregs.h descriptor.h icache.h apic.h ../cpu/i387.h ../fpu/softfloat.h \
../config.h ../fpu/tag_w.h ../fpu/status_w.h ../fpu/control_w.h \
../cpu/xmm.h
@ -803,7 +803,7 @@ vm8086.o: vm8086.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h ../bx_debug/debu
../memory/memory.h ../pc_system.h ../plugin.h ../extplugin.h \
../gui/gui.h ../gui/textconfig.h ../config.h ../gui/keymap.h \
../instrument/stubs/instrument.h cpu.h ../cpu/lazy_flags.h \
../cpu/hostasm.h ../disasm/disasm.h ../config.h crregs.h descriptor.h \
../disasm/disasm.h ../config.h crregs.h descriptor.h \
icache.h apic.h ../cpu/i387.h ../fpu/softfloat.h ../config.h \
../fpu/tag_w.h ../fpu/status_w.h ../fpu/control_w.h ../cpu/xmm.h
extdb.o: extdb.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h ../bx_debug/debug.h \
@ -811,7 +811,7 @@ extdb.o: extdb.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h ../bx_debug/debug.
../memory/memory.h ../pc_system.h ../plugin.h ../extplugin.h \
../gui/gui.h ../gui/textconfig.h ../config.h ../gui/keymap.h \
../instrument/stubs/instrument.h cpu.h ../cpu/lazy_flags.h \
../cpu/hostasm.h ../disasm/disasm.h ../config.h crregs.h descriptor.h \
../disasm/disasm.h ../config.h crregs.h descriptor.h \
icache.h apic.h ../cpu/i387.h ../fpu/softfloat.h ../config.h \
../fpu/tag_w.h ../fpu/status_w.h ../fpu/control_w.h ../cpu/xmm.h \
../iodev/iodev.h ../bochs.h ../iodev/pci.h ../iodev/pci2isa.h \

View File

@ -1,5 +1,5 @@
/////////////////////////////////////////////////////////////////////////
// $Id: arith16.cc,v 1.44 2007-01-26 22:12:05 sshwarts Exp $
// $Id: arith16.cc,v 1.45 2007-10-21 22:07:32 sshwarts Exp $
/////////////////////////////////////////////////////////////////////////
//
// Copyright (C) 2001 MandrakeSoft S.A.
@ -33,26 +33,14 @@
void BX_CPU_C::INC_RX(bxInstruction_c *i)
{
#if defined(BX_HostAsm_Inc16)
Bit32u flags32;
asmInc16(BX_CPU_THIS_PTR gen_reg[i->opcodeReg()].word.rx, flags32);
setEFlagsOSZAP(flags32);
#else
Bit16u rx = ++ BX_CPU_THIS_PTR gen_reg[i->opcodeReg()].word.rx;
SET_FLAGS_OSZAP_RESULT_16(rx, BX_INSTR_INC16);
#endif
}
void BX_CPU_C::DEC_RX(bxInstruction_c *i)
{
#if defined(BX_HostAsm_Dec16)
Bit32u flags32;
asmDec16(BX_CPU_THIS_PTR gen_reg[i->opcodeReg()].word.rx, flags32);
setEFlagsOSZAP(flags32);
#else
Bit16u rx = -- BX_CPU_THIS_PTR gen_reg[i->opcodeReg()].word.rx;
SET_FLAGS_OSZAP_RESULT_16(rx, BX_INSTR_DEC16);
#endif
}
void BX_CPU_C::ADD_EwGw(bxInstruction_c *i)
@ -84,14 +72,8 @@ void BX_CPU_C::ADD_GwEEw(bxInstruction_c *i)
read_virtual_word(i->seg(), RMAddr(i), &op2_16);
#if defined(BX_HostAsm_Add16)
Bit32u flags32;
asmAdd16(sum_16, op1_16, op2_16, flags32);
setEFlagsOSZAPC(flags32);
#else
sum_16 = op1_16 + op2_16;
SET_FLAGS_OSZAPC_16(op1_16, op2_16, sum_16, BX_INSTR_ADD16);
#endif
BX_WRITE_16BIT_REG(nnn, sum_16);
}
@ -104,14 +86,8 @@ void BX_CPU_C::ADD_GwEGw(bxInstruction_c *i)
op1_16 = BX_READ_16BIT_REG(nnn);
op2_16 = BX_READ_16BIT_REG(i->rm());
#if defined(BX_HostAsm_Add16)
Bit32u flags32;
asmAdd16(sum_16, op1_16, op2_16, flags32);
setEFlagsOSZAPC(flags32);
#else
sum_16 = op1_16 + op2_16;
SET_FLAGS_OSZAPC_16(op1_16, op2_16, sum_16, BX_INSTR_ADD16);
#endif
BX_WRITE_16BIT_REG(nnn, sum_16);
}
@ -271,30 +247,16 @@ void BX_CPU_C::SUB_EwGw(bxInstruction_c *i)
if (i->modC0()) {
op1_16 = BX_READ_16BIT_REG(i->rm());
#if defined(BX_HostAsm_Sub16)
Bit32u flags32;
asmSub16(diff_16, op1_16, op2_16, flags32);
setEFlagsOSZAPC(flags32);
#else
diff_16 = op1_16 - op2_16;
#endif
BX_WRITE_16BIT_REG(i->rm(), diff_16);
}
else {
read_RMW_virtual_word(i->seg(), RMAddr(i), &op1_16);
#if defined(BX_HostAsm_Sub16)
Bit32u flags32;
asmSub16(diff_16, op1_16, op2_16, flags32);
setEFlagsOSZAPC(flags32);
#else
diff_16 = op1_16 - op2_16;
#endif
write_RMW_virtual_word(diff_16);
}
#if !defined(BX_HostAsm_Sub16)
SET_FLAGS_OSZAPC_16(op1_16, op2_16, diff_16, BX_INSTR_SUB16);
#endif
}
void BX_CPU_C::SUB_GwEw(bxInstruction_c *i)
@ -311,14 +273,8 @@ void BX_CPU_C::SUB_GwEw(bxInstruction_c *i)
read_virtual_word(i->seg(), RMAddr(i), &op2_16);
}
#if defined(BX_HostAsm_Sub16)
Bit32u flags32;
asmSub16(diff_16, op1_16, op2_16, flags32);
setEFlagsOSZAPC(flags32);
#else
diff_16 = op1_16 - op2_16;
SET_FLAGS_OSZAPC_16(op1_16, op2_16, diff_16, BX_INSTR_SUB16);
#endif
BX_WRITE_16BIT_REG(nnn, diff_16);
}
@ -330,14 +286,8 @@ void BX_CPU_C::SUB_AXIw(bxInstruction_c *i)
op1_16 = AX;
op2_16 = i->Iw();
#if defined(BX_HostAsm_Sub16)
Bit32u flags32;
asmSub16(diff_16, op1_16, op2_16, flags32);
setEFlagsOSZAPC(flags32);
#else
diff_16 = op1_16 - op2_16;
SET_FLAGS_OSZAPC_16(op1_16, op2_16, diff_16, BX_INSTR_SUB16);
#endif
AX = diff_16;
}
@ -355,14 +305,8 @@ void BX_CPU_C::CMP_EwGw(bxInstruction_c *i)
read_virtual_word(i->seg(), RMAddr(i), &op1_16);
}
#if defined(BX_HostAsm_Cmp16)
Bit32u flags32;
asmCmp16(op1_16, op2_16, flags32);
setEFlagsOSZAPC(flags32);
#else
Bit16u diff_16 = op1_16 - op2_16;
SET_FLAGS_OSZAPC_16(op1_16, op2_16, diff_16, BX_INSTR_COMPARE16);
#endif
}
void BX_CPU_C::CMP_GwEw(bxInstruction_c *i)
@ -378,14 +322,8 @@ void BX_CPU_C::CMP_GwEw(bxInstruction_c *i)
read_virtual_word(i->seg(), RMAddr(i), &op2_16);
}
#if defined(BX_HostAsm_Cmp16)
Bit32u flags32;
asmCmp16(op1_16, op2_16, flags32);
setEFlagsOSZAPC(flags32);
#else
Bit16u diff_16 = op1_16 - op2_16;
SET_FLAGS_OSZAPC_16(op1_16, op2_16, diff_16, BX_INSTR_COMPARE16);
#endif
}
void BX_CPU_C::CMP_AXIw(bxInstruction_c *i)
@ -395,14 +333,8 @@ void BX_CPU_C::CMP_AXIw(bxInstruction_c *i)
op1_16 = AX;
op2_16 = i->Iw();
#if defined(BX_HostAsm_Cmp16)
Bit32u flags32;
asmCmp16(op1_16, op2_16, flags32);
setEFlagsOSZAPC(flags32);
#else
Bit16u diff_16 = op1_16 - op2_16;
SET_FLAGS_OSZAPC_16(op1_16, op2_16, diff_16, BX_INSTR_COMPARE16);
#endif
}
void BX_CPU_C::CBW(bxInstruction_c *i)
@ -468,14 +400,8 @@ void BX_CPU_C::ADD_EEwIw(bxInstruction_c *i)
read_RMW_virtual_word(i->seg(), RMAddr(i), &op1_16);
#if defined(BX_HostAsm_Add16)
Bit32u flags32;
asmAdd16(sum_16, op1_16, op2_16, flags32);
setEFlagsOSZAPC(flags32);
#else
sum_16 = op1_16 + op2_16;
SET_FLAGS_OSZAPC_16(op1_16, op2_16, sum_16, BX_INSTR_ADD16);
#endif
write_RMW_virtual_word(sum_16);
}
@ -488,14 +414,8 @@ void BX_CPU_C::ADD_EGwIw(bxInstruction_c *i)
op1_16 = BX_READ_16BIT_REG(i->rm());
#if defined(BX_HostAsm_Add16)
Bit32u flags32;
asmAdd16(sum_16, op1_16, op2_16, flags32);
setEFlagsOSZAPC(flags32);
#else
sum_16 = op1_16 + op2_16;
SET_FLAGS_OSZAPC_16(op1_16, op2_16, sum_16, BX_INSTR_ADD16);
#endif
BX_WRITE_16BIT_REG(i->rm(), sum_16);
}
@ -529,30 +449,16 @@ void BX_CPU_C::SUB_EwIw(bxInstruction_c *i)
if (i->modC0()) {
op1_16 = BX_READ_16BIT_REG(i->rm());
#if defined(BX_HostAsm_Sub16)
Bit32u flags32;
asmSub16(diff_16, op1_16, op2_16, flags32);
setEFlagsOSZAPC(flags32);
#else
diff_16 = op1_16 - op2_16;
#endif
BX_WRITE_16BIT_REG(i->rm(), diff_16);
}
else {
read_RMW_virtual_word(i->seg(), RMAddr(i), &op1_16);
#if defined(BX_HostAsm_Sub16)
Bit32u flags32;
asmSub16(diff_16, op1_16, op2_16, flags32);
setEFlagsOSZAPC(flags32);
#else
diff_16 = op1_16 - op2_16;
#endif
write_RMW_virtual_word(diff_16);
}
#if !defined(BX_HostAsm_Sub16)
SET_FLAGS_OSZAPC_16(op1_16, op2_16, diff_16, BX_INSTR_SUB16);
#endif
}
void BX_CPU_C::CMP_EwIw(bxInstruction_c *i)
@ -568,14 +474,8 @@ void BX_CPU_C::CMP_EwIw(bxInstruction_c *i)
read_virtual_word(i->seg(), RMAddr(i), &op1_16);
}
#if defined(BX_HostAsm_Cmp16)
Bit32u flags32;
asmCmp16(op1_16, op2_16, flags32);
setEFlagsOSZAPC(flags32);
#else
Bit16u diff_16 = op1_16 - op2_16;
SET_FLAGS_OSZAPC_16(op1_16, op2_16, diff_16, BX_INSTR_COMPARE16);
#endif
}
void BX_CPU_C::NEG_Ew(bxInstruction_c *i)
@ -619,31 +519,17 @@ void BX_CPU_C::DEC_Ew(bxInstruction_c *i)
Bit16u op1_16;
if (i->modC0()) {
#if defined(BX_HostAsm_Dec16)
Bit32u flags32;
asmDec16(BX_CPU_THIS_PTR gen_reg[i->rm()].word.rx, flags32);
setEFlagsOSZAP(flags32);
#else
op1_16 = BX_READ_16BIT_REG(i->rm());
op1_16--;
BX_WRITE_16BIT_REG(i->rm(), op1_16);
#endif
}
else {
read_RMW_virtual_word(i->seg(), RMAddr(i), &op1_16);
#if defined(BX_HostAsm_Dec16)
Bit32u flags32;
asmDec16(op1_16, flags32);
setEFlagsOSZAP(flags32);
#else
op1_16--;
#endif
write_RMW_virtual_word(op1_16);
}
#if !defined(BX_HostAsm_Dec16)
SET_FLAGS_OSZAP_RESULT_16(op1_16, BX_INSTR_DEC16);
#endif
}
void BX_CPU_C::CMPXCHG_EwGw(bxInstruction_c *i)
@ -678,7 +564,7 @@ void BX_CPU_C::CMPXCHG_EwGw(bxInstruction_c *i)
AX = op1_16;
}
#else
BX_INFO(("CMPXCHG_EwGw: not supported for cpulevel <= 3"));
BX_INFO(("CMPXCHG_EwGw: not supported for cpu-level <= 3"));
UndefinedOpcode(i);
#endif
}

View File

@ -1,5 +1,5 @@
/////////////////////////////////////////////////////////////////////////
// $Id: arith32.cc,v 1.50 2007-01-26 22:12:05 sshwarts Exp $
// $Id: arith32.cc,v 1.51 2007-10-21 22:07:32 sshwarts Exp $
/////////////////////////////////////////////////////////////////////////
//
// Copyright (C) 2001 MandrakeSoft S.A.
@ -43,14 +43,8 @@ void BX_CPU_C::INC_ERX(bxInstruction_c *i)
{
unsigned opcodeReg = i->opcodeReg();
#if defined(BX_HostAsm_Inc32)
Bit32u flags32;
asmInc32(BX_CPU_THIS_PTR gen_reg[opcodeReg].dword.erx, flags32);
setEFlagsOSZAP(flags32);
#else
Bit32u erx = ++ BX_CPU_THIS_PTR gen_reg[opcodeReg].dword.erx;
SET_FLAGS_OSZAP_RESULT_32(erx, BX_INSTR_INC32);
#endif
BX_CLEAR_64BIT_HIGH(opcodeReg);
}
@ -59,14 +53,8 @@ void BX_CPU_C::DEC_ERX(bxInstruction_c *i)
{
unsigned opcodeReg = i->opcodeReg();
#if defined(BX_HostAsm_Dec32)
Bit32u flags32;
asmDec32(BX_CPU_THIS_PTR gen_reg[opcodeReg].dword.erx, flags32);
setEFlagsOSZAP(flags32);
#else
Bit32u erx = -- BX_CPU_THIS_PTR gen_reg[opcodeReg].dword.erx;
SET_FLAGS_OSZAP_RESULT_32(erx, BX_INSTR_DEC32);
#endif
BX_CLEAR_64BIT_HIGH(opcodeReg);
}
@ -100,14 +88,8 @@ void BX_CPU_C::ADD_GdEEd(bxInstruction_c *i)
read_virtual_dword(i->seg(), RMAddr(i), &op2_32);
#if defined(BX_HostAsm_Add32)
Bit32u flags32;
asmAdd32(sum_32, op1_32, op2_32, flags32);
setEFlagsOSZAPC(flags32);
#else
sum_32 = op1_32 + op2_32;
SET_FLAGS_OSZAPC_32(op1_32, op2_32, sum_32, BX_INSTR_ADD32);
#endif
BX_WRITE_32BIT_REGZ(nnn, sum_32);
}
@ -120,14 +102,8 @@ void BX_CPU_C::ADD_GdEGd(bxInstruction_c *i)
op1_32 = BX_READ_32BIT_REG(nnn);
op2_32 = BX_READ_32BIT_REG(i->rm());
#if defined(BX_HostAsm_Add32)
Bit32u flags32;
asmAdd32(sum_32, op1_32, op2_32, flags32);
setEFlagsOSZAPC(flags32);
#else
sum_32 = op1_32 + op2_32;
SET_FLAGS_OSZAPC_32(op1_32, op2_32, sum_32, BX_INSTR_ADD32);
#endif
BX_WRITE_32BIT_REGZ(nnn, sum_32);
}
@ -319,14 +295,8 @@ void BX_CPU_C::SUB_GdEd(bxInstruction_c *i)
read_virtual_dword(i->seg(), RMAddr(i), &op2_32);
}
#if defined(BX_HostAsm_Sub32)
Bit32u flags32;
asmSub32(diff_32, op1_32, op2_32, flags32);
setEFlagsOSZAPC(flags32);
#else
diff_32 = op1_32 - op2_32;
SET_FLAGS_OSZAPC_32(op1_32, op2_32, diff_32, BX_INSTR_SUB32);
#endif
BX_WRITE_32BIT_REGZ(nnn, diff_32);
}
@ -357,14 +327,8 @@ void BX_CPU_C::CMP_EdGd(bxInstruction_c *i)
read_virtual_dword(i->seg(), RMAddr(i), &op1_32);
}
#if defined(BX_HostAsm_Cmp32)
Bit32u flags32;
asmCmp32(op1_32, op2_32, flags32);
setEFlagsOSZAPC(flags32);
#else
Bit32u diff_32 = op1_32 - op2_32;
SET_FLAGS_OSZAPC_32(op1_32, op2_32, diff_32, BX_INSTR_COMPARE32);
#endif
}
void BX_CPU_C::CMP_GdEd(bxInstruction_c *i)
@ -380,14 +344,8 @@ void BX_CPU_C::CMP_GdEd(bxInstruction_c *i)
read_virtual_dword(i->seg(), RMAddr(i), &op2_32);
}
#if defined(BX_HostAsm_Cmp32)
Bit32u flags32;
asmCmp32(op1_32, op2_32, flags32);
setEFlagsOSZAPC(flags32);
#else
Bit32u diff_32 = op1_32 - op2_32;
SET_FLAGS_OSZAPC_32(op1_32, op2_32, diff_32, BX_INSTR_COMPARE32);
#endif
}
void BX_CPU_C::CMP_EAXId(bxInstruction_c *i)
@ -397,14 +355,8 @@ void BX_CPU_C::CMP_EAXId(bxInstruction_c *i)
op1_32 = EAX;
op2_32 = i->Id();
#if defined(BX_HostAsm_Cmp32)
Bit32u flags32;
asmCmp32(op1_32, op2_32, flags32);
setEFlagsOSZAPC(flags32);
#else
Bit32u diff_32 = op1_32 - op2_32;
SET_FLAGS_OSZAPC_32(op1_32, op2_32, diff_32, BX_INSTR_COMPARE32);
#endif
}
void BX_CPU_C::CWDE(bxInstruction_c *i)
@ -497,14 +449,8 @@ void BX_CPU_C::ADD_EEdId(bxInstruction_c *i)
read_RMW_virtual_dword(i->seg(), RMAddr(i), &op1_32);
#if defined(BX_HostAsm_Add32)
Bit32u flags32;
asmAdd32(sum_32, op1_32, op2_32, flags32);
setEFlagsOSZAPC(flags32);
#else
sum_32 = op1_32 + op2_32;
SET_FLAGS_OSZAPC_32(op1_32, op2_32, sum_32, BX_INSTR_ADD32);
#endif
write_RMW_virtual_dword(sum_32);
}
@ -516,14 +462,8 @@ void BX_CPU_C::ADD_EGdId(bxInstruction_c *i)
op2_32 = i->Id();
op1_32 = BX_READ_32BIT_REG(i->rm());
#if defined(BX_HostAsm_Add32)
Bit32u flags32;
asmAdd32(sum_32, op1_32, op2_32, flags32);
setEFlagsOSZAPC(flags32);
#else
sum_32 = op1_32 + op2_32;
SET_FLAGS_OSZAPC_32(op1_32, op2_32, sum_32, BX_INSTR_ADD32);
#endif
BX_WRITE_32BIT_REGZ(i->rm(), sum_32);
}
@ -583,15 +523,8 @@ void BX_CPU_C::CMP_EdId(bxInstruction_c *i)
read_virtual_dword(i->seg(), RMAddr(i), &op1_32);
}
#if defined(BX_HostAsm_Cmp32)
Bit32u flags32;
asmCmp32(op1_32, op2_32, flags32);
setEFlagsOSZAPC(flags32);
#else
Bit32u diff_32;
diff_32 = op1_32 - op2_32;
Bit32u diff_32 = op1_32 - op2_32;
SET_FLAGS_OSZAPC_32(op1_32, op2_32, diff_32, BX_INSTR_COMPARE32);
#endif
}
void BX_CPU_C::NEG_Ed(bxInstruction_c *i)
@ -702,15 +635,13 @@ void BX_CPU_C::CMPXCHG8B(bxInstruction_c *i)
diff |= EDX - op1_64_hi;
if (diff == 0) { // if accumulator == dest
// ZF = 1
set_ZF(1);
assert_ZF();
// dest <-- src
write_RMW_virtual_dword(ECX);
write_virtual_dword(i->seg(), RMAddr(i), &EBX);
}
else {
// ZF = 0
set_ZF(0);
clear_ZF();
// accumulator <-- dest
RAX = op1_64_lo;
RDX = op1_64_hi;

View File

@ -1,5 +1,5 @@
/////////////////////////////////////////////////////////////////////////
// $Id: arith64.cc,v 1.30 2006-06-09 22:29:06 sshwarts Exp $
// $Id: arith64.cc,v 1.31 2007-10-21 22:07:32 sshwarts Exp $
/////////////////////////////////////////////////////////////////////////
//
// Copyright (C) 2001 MandrakeSoft S.A.
@ -638,15 +638,13 @@ void BX_CPU_C::CMPXCHG16B(bxInstruction_c *i)
diff |= RDX - op1_64_hi;
if (diff == 0) { // if accumulator == dest
// ZF = 1
set_ZF(1);
assert_ZF();
// dest <-- src
write_RMW_virtual_qword(RCX);
write_virtual_qword(i->seg(), RMAddr(i), &RBX);
}
else {
// ZF = 0
set_ZF(0);
clear_ZF();
// accumulator <-- dest
RAX = op1_64_lo;
RDX = op1_64_hi;

View File

@ -1,5 +1,5 @@
/////////////////////////////////////////////////////////////////////////
// $Id: arith8.cc,v 1.39 2006-03-26 18:58:00 sshwarts Exp $
// $Id: arith8.cc,v 1.40 2007-10-21 22:07:32 sshwarts Exp $
/////////////////////////////////////////////////////////////////////////
//
// Copyright (C) 2001 MandrakeSoft S.A.
@ -279,14 +279,8 @@ void BX_CPU_C::CMP_EbGb(bxInstruction_c *i)
read_virtual_byte(i->seg(), RMAddr(i), &op1_8);
}
#if defined(BX_HostAsm_Cmp8)
Bit32u flags32;
asmCmp8(op1_8, op2_8, flags32);
setEFlagsOSZAPC(flags32);
#else
Bit8u diff_8 = op1_8 - op2_8;
SET_FLAGS_OSZAPC_8(op1_8, op2_8, diff_8, BX_INSTR_COMPARE8);
#endif
}
void BX_CPU_C::CMP_GbEb(bxInstruction_c *i)
@ -302,14 +296,8 @@ void BX_CPU_C::CMP_GbEb(bxInstruction_c *i)
read_virtual_byte(i->seg(), RMAddr(i), &op2_8);
}
#if defined(BX_HostAsm_Cmp8)
Bit32u flags32;
asmCmp8(op1_8, op2_8, flags32);
setEFlagsOSZAPC(flags32);
#else
Bit8u diff_8 = op1_8 - op2_8;
SET_FLAGS_OSZAPC_8(op1_8, op2_8, diff_8, BX_INSTR_COMPARE8);
#endif
}
void BX_CPU_C::CMP_ALIb(bxInstruction_c *i)
@ -317,14 +305,8 @@ void BX_CPU_C::CMP_ALIb(bxInstruction_c *i)
Bit8u op1_8 = AL;
Bit8u op2_8 = i->Ib();
#if defined(BX_HostAsm_Cmp8)
Bit32u flags32;
asmCmp8(op1_8, op2_8, flags32);
setEFlagsOSZAPC(flags32);
#else
Bit8u diff_8 = op1_8 - op2_8;
SET_FLAGS_OSZAPC_8(op1_8, op2_8, diff_8, BX_INSTR_COMPARE8);
#endif
}
void BX_CPU_C::XADD_EbGb(bxInstruction_c *i)
@ -439,14 +421,8 @@ void BX_CPU_C::CMP_EbIb(bxInstruction_c *i)
read_virtual_byte(i->seg(), RMAddr(i), &op1_8);
}
#if defined(BX_HostAsm_Cmp8)
Bit32u flags32;
asmCmp8(op1_8, op2_8, flags32);
setEFlagsOSZAPC(flags32);
#else
Bit8u diff_8 = op1_8 - op2_8;
SET_FLAGS_OSZAPC_8(op1_8, op2_8, diff_8, BX_INSTR_COMPARE8);
#endif
}
void BX_CPU_C::NEG_Eb(bxInstruction_c *i)

View File

@ -1,5 +1,5 @@
/////////////////////////////////////////////////////////////////////////
// $Id: bcd.cc,v 1.17 2006-03-06 22:02:51 sshwarts Exp $
// $Id: bcd.cc,v 1.18 2007-10-21 22:07:32 sshwarts Exp $
/////////////////////////////////////////////////////////////////////////
//
// Copyright (C) 2002 MandrakeSoft S.A.
@ -58,12 +58,12 @@ void BX_CPU_C::AAA(bxInstruction_c *)
if ( ((AL & 0x0f) > 9) || get_AF() )
{
AX = AX + 0x106;
set_AF(1);
set_CF(1);
assert_AF();
assert_CF();
}
else {
set_AF(0);
set_CF(0);
clear_AF();
clear_CF();
}
AL = AL & 0x0f;
@ -73,8 +73,8 @@ void BX_CPU_C::AAA(bxInstruction_c *)
/* The following behaviour seems to match the P6 and
its derived processors. */
set_OF(0);
set_SF(0); /* sign is always 0 because bits 4-7 of AL are zeroed */
clear_OF();
clear_SF(); /* sign is always 0 because bits 4-7 of AL are zeroed */
set_ZF(AL == 0);
set_PF_base(AL);
}
@ -86,12 +86,12 @@ void BX_CPU_C::AAS(bxInstruction_c *)
if ( ((AL & 0x0F) > 0x09) || get_AF() )
{
AX = AX - 0x106;
set_AF(1);
set_CF(1);
assert_AF();
assert_CF();
}
else {
set_CF(0);
set_AF(0);
clear_CF();
clear_AF();
}
AL = AL & 0x0f;
@ -101,8 +101,8 @@ void BX_CPU_C::AAS(bxInstruction_c *)
/* The following behaviour seems to match the P6 and
its derived processors. */
set_OF(0);
set_SF(0); /* sign is always 0 because bits 4-7 of AL are zeroed */
clear_OF();
clear_SF(); /* sign is always 0 because bits 4-7 of AL are zeroed */
set_ZF(AL == 0);
set_PF_base(AL);
}
@ -171,10 +171,10 @@ void BX_CPU_C::DAA(bxInstruction_c *)
{
tmpCF = ((AL > 0xF9) || get_CF());
AL = AL + 0x06;
set_AF(1);
assert_AF();
}
else
set_AF(0);
clear_AF();
if ((tmpAL > 0x99) || get_CF())
{
@ -184,7 +184,7 @@ void BX_CPU_C::DAA(bxInstruction_c *)
else
tmpCF = 0;
set_OF(0); /* undocumented flag modification */
clear_OF(); /* undocumented flag modification */
set_SF(AL >= 0x80);
set_ZF(AL==0);
set_PF_base(AL);
@ -210,10 +210,10 @@ void BX_CPU_C::DAS(bxInstruction_c *)
{
tmpCF = (AL < 0x06) || get_CF();
AL = AL - 0x06;
set_AF(1);
assert_AF();
}
else
set_AF(0);
clear_AF();
if ((tmpAL > 0x99) || get_CF())
{
@ -221,7 +221,7 @@ void BX_CPU_C::DAS(bxInstruction_c *)
tmpCF = 1;
}
set_OF(0); /* undocumented flag modification */
clear_OF(); /* undocumented flag modification */
set_SF(AL >= 0x80);
set_ZF(AL==0);
set_PF_base(AL);

View File

@ -1,5 +1,5 @@
/////////////////////////////////////////////////////////////////////////
// $Id: bit.cc,v 1.33 2007-10-01 19:59:35 sshwarts Exp $
// $Id: bit.cc,v 1.34 2007-10-21 22:07:32 sshwarts Exp $
/////////////////////////////////////////////////////////////////////////
//
// Copyright (C) 2001 MandrakeSoft S.A.
@ -565,7 +565,7 @@ void BX_CPU_C::BT_EwGw(bxInstruction_c *i)
if (i->modC0()) {
op1_16 = BX_READ_16BIT_REG(i->rm());
op2_16 &= 0x0f;
set_CF((op1_16 >> op2_16) & 0x01);
setB_CF((op1_16 >> op2_16) & 0x01);
return;
}
@ -576,7 +576,7 @@ void BX_CPU_C::BT_EwGw(bxInstruction_c *i)
/* pointer, segment address pair */
read_virtual_word(i->seg(), op1_addr, &op1_16);
set_CF((op1_16 >> index) & 0x01);
setB_CF((op1_16 >> index) & 0x01);
}
void BX_CPU_C::BT_EdGd(bxInstruction_c *i)
@ -591,7 +591,7 @@ void BX_CPU_C::BT_EdGd(bxInstruction_c *i)
if (i->modC0()) {
op1_32 = BX_READ_32BIT_REG(i->rm());
op2_32 &= 0x1f;
set_CF((op1_32 >> op2_32) & 0x01);
setB_CF((op1_32 >> op2_32) & 0x01);
return;
}
@ -602,7 +602,7 @@ void BX_CPU_C::BT_EdGd(bxInstruction_c *i)
/* pointer, segment address pair */
read_virtual_dword(i->seg(), op1_addr, &op1_32);
set_CF((op1_32 >> index) & 0x01);
setB_CF((op1_32 >> index) & 0x01);
}
#if BX_SUPPORT_X86_64
@ -619,7 +619,7 @@ void BX_CPU_C::BT_EqGq(bxInstruction_c *i)
if (i->modC0()) {
op1_64 = BX_READ_64BIT_REG(i->rm());
op2_64 &= 0x3f;
set_CF((op1_64 >> op2_64) & 0x01);
setB_CF((op1_64 >> op2_64) & 0x01);
return;
}
@ -630,7 +630,7 @@ void BX_CPU_C::BT_EqGq(bxInstruction_c *i)
/* pointer, segment address pair */
read_virtual_qword(i->seg(), op1_addr, &op1_64);
set_CF((op1_64 >> index) & 0x01);
setB_CF((op1_64 >> index) & 0x01);
}
#endif
@ -646,7 +646,7 @@ void BX_CPU_C::BTS_EwGw(bxInstruction_c *i)
if (i->modC0()) {
op1_16 = BX_READ_16BIT_REG(i->rm());
op2_16 &= 0x0f;
set_CF((op1_16 >> op2_16) & 0x01);
setB_CF((op1_16 >> op2_16) & 0x01);
op1_16 |= (((Bit16u) 1) << op2_16);
/* now write diff back to destination */
@ -666,7 +666,7 @@ void BX_CPU_C::BTS_EwGw(bxInstruction_c *i)
write_RMW_virtual_word(op1_16);
set_CF(bit_i);
setB_CF(bit_i);
}
void BX_CPU_C::BTS_EdGd(bxInstruction_c *i)
@ -681,7 +681,7 @@ void BX_CPU_C::BTS_EdGd(bxInstruction_c *i)
if (i->modC0()) {
op1_32 = BX_READ_32BIT_REG(i->rm());
op2_32 &= 0x1f;
set_CF((op1_32 >> op2_32) & 0x01);
setB_CF((op1_32 >> op2_32) & 0x01);
op1_32 |= (((Bit32u) 1) << op2_32);
/* now write diff back to destination */
@ -701,7 +701,7 @@ void BX_CPU_C::BTS_EdGd(bxInstruction_c *i)
write_RMW_virtual_dword(op1_32);
set_CF(bit_i);
setB_CF(bit_i);
}
#if BX_SUPPORT_X86_64
@ -718,7 +718,7 @@ void BX_CPU_C::BTS_EqGq(bxInstruction_c *i)
if (i->modC0()) {
op1_64 = BX_READ_64BIT_REG(i->rm());
op2_64 &= 0x3f;
set_CF((op1_64 >> op2_64) & 0x01);
setB_CF((op1_64 >> op2_64) & 0x01);
op1_64 |= (((Bit64u) 1) << op2_64);
/* now write diff back to destination */
@ -738,7 +738,7 @@ void BX_CPU_C::BTS_EqGq(bxInstruction_c *i)
write_RMW_virtual_qword(op1_64);
set_CF(bit_i);
setB_CF(bit_i);
}
#endif
@ -754,7 +754,7 @@ void BX_CPU_C::BTR_EwGw(bxInstruction_c *i)
if (i->modC0()) {
op1_16 = BX_READ_16BIT_REG(i->rm());
op2_16 &= 0x0f;
set_CF((op1_16 >> op2_16) & 0x01);
setB_CF((op1_16 >> op2_16) & 0x01);
op1_16 &= ~(((Bit16u) 1) << op2_16);
/* now write diff back to destination */
@ -775,7 +775,7 @@ void BX_CPU_C::BTR_EwGw(bxInstruction_c *i)
/* now write back to destination */
write_RMW_virtual_word(op1_16);
set_CF(temp_cf);
setB_CF(temp_cf);
}
void BX_CPU_C::BTR_EdGd(bxInstruction_c *i)
@ -790,7 +790,7 @@ void BX_CPU_C::BTR_EdGd(bxInstruction_c *i)
if (i->modC0()) {
op1_32 = BX_READ_32BIT_REG(i->rm());
op2_32 &= 0x1f;
set_CF((op1_32 >> op2_32) & 0x01);
setB_CF((op1_32 >> op2_32) & 0x01);
op1_32 &= ~(((Bit32u) 1) << op2_32);
/* now write diff back to destination */
@ -811,7 +811,7 @@ void BX_CPU_C::BTR_EdGd(bxInstruction_c *i)
/* now write back to destination */
write_RMW_virtual_dword(op1_32);
set_CF(temp_cf);
setB_CF(temp_cf);
}
#if BX_SUPPORT_X86_64
@ -827,7 +827,7 @@ void BX_CPU_C::BTR_EqGq(bxInstruction_c *i)
if (i->modC0()) {
op1_64 = BX_READ_64BIT_REG(i->rm());
op2_64 &= 0x3f;
set_CF((op1_64 >> op2_64) & 0x01);
setB_CF((op1_64 >> op2_64) & 0x01);
op1_64 &= ~(((Bit64u) 1) << op2_64);
/* now write diff back to destination */
@ -848,7 +848,7 @@ void BX_CPU_C::BTR_EqGq(bxInstruction_c *i)
/* now write back to destination */
write_RMW_virtual_qword(op1_64);
set_CF(temp_cf);
setB_CF(temp_cf);
}
#endif
@ -874,7 +874,7 @@ void BX_CPU_C::BTC_EwGw(bxInstruction_c *i)
bx_bool temp_CF = (op1_16 >> index_16) & 0x01;
op1_16 ^= (((Bit16u) 1) << index_16); /* toggle bit */
set_CF(temp_CF);
setB_CF(temp_CF);
/* now write diff back to destination */
if (i->modC0()) {
@ -884,7 +884,7 @@ void BX_CPU_C::BTC_EwGw(bxInstruction_c *i)
write_RMW_virtual_word(op1_16);
}
set_CF(temp_CF);
setB_CF(temp_CF);
}
void BX_CPU_C::BTC_EdGd(bxInstruction_c *i)
@ -909,7 +909,7 @@ void BX_CPU_C::BTC_EdGd(bxInstruction_c *i)
bx_bool temp_CF = (op1_32 >> index_32) & 0x01;
op1_32 ^= (((Bit32u) 1) << index_32); /* toggle bit */
set_CF(temp_CF);
setB_CF(temp_CF);
/* now write diff back to destination */
if (i->modC0()) {
@ -944,7 +944,7 @@ void BX_CPU_C::BTC_EqGq(bxInstruction_c *i)
bx_bool temp_CF = (op1_64 >> index) & 0x01;
op1_64 ^= (((Bit64u) 1) << index); /* toggle bit */
set_CF(temp_CF);
setB_CF(temp_CF);
/* now write diff back to destination */
if (i->modC0()) {
@ -971,7 +971,7 @@ void BX_CPU_C::BT_EwIb(bxInstruction_c *i)
read_virtual_word(i->seg(), RMAddr(i), &op1_16);
}
set_CF((op1_16 >> op2_8) & 0x01);
setB_CF((op1_16 >> op2_8) & 0x01);
}
void BX_CPU_C::BT_EdIb(bxInstruction_c *i)
@ -989,7 +989,7 @@ void BX_CPU_C::BT_EdIb(bxInstruction_c *i)
read_virtual_dword(i->seg(), RMAddr(i), &op1_32);
}
set_CF((op1_32 >> op2_8) & 0x01);
setB_CF((op1_32 >> op2_8) & 0x01);
}
#if BX_SUPPORT_X86_64
@ -1008,7 +1008,7 @@ void BX_CPU_C::BT_EqIb(bxInstruction_c *i)
read_virtual_qword(i->seg(), RMAddr(i), &op1_64);
}
set_CF((op1_64 >> op2_8) & 0x01);
setB_CF((op1_64 >> op2_8) & 0x01);
}
#endif
@ -1038,7 +1038,7 @@ void BX_CPU_C::BTS_EwIb(bxInstruction_c *i)
write_RMW_virtual_word(op1_16);
}
set_CF(temp_CF);
setB_CF(temp_CF);
}
void BX_CPU_C::BTS_EdIb(bxInstruction_c *i)
@ -1067,7 +1067,7 @@ void BX_CPU_C::BTS_EdIb(bxInstruction_c *i)
write_RMW_virtual_dword(op1_32);
}
set_CF(temp_CF);
setB_CF(temp_CF);
}
#if BX_SUPPORT_X86_64
@ -1097,7 +1097,7 @@ void BX_CPU_C::BTS_EqIb(bxInstruction_c *i)
write_RMW_virtual_qword(op1_64);
}
set_CF(temp_CF);
setB_CF(temp_CF);
}
#endif
@ -1118,7 +1118,7 @@ void BX_CPU_C::BTC_EwIb(bxInstruction_c *i)
bx_bool temp_CF = (op1_16 >> op2_8) & 0x01;
op1_16 ^= (((Bit16u) 1) << op2_8); /* toggle bit */
set_CF(temp_CF);
setB_CF(temp_CF);
/* now write diff back to destination */
if (i->modC0()) {
@ -1146,7 +1146,7 @@ void BX_CPU_C::BTC_EdIb(bxInstruction_c *i)
bx_bool temp_CF = (op1_32 >> op2_8) & 0x01;
op1_32 ^= (((Bit32u) 1) << op2_8); /* toggle bit */
set_CF(temp_CF);
setB_CF(temp_CF);
/* now write diff back to destination */
if (i->modC0()) {
@ -1175,7 +1175,7 @@ void BX_CPU_C::BTC_EqIb(bxInstruction_c *i)
bx_bool temp_CF = (op1_64 >> op2_8) & 0x01;
op1_64 ^= (((Bit64u) 1) << op2_8); /* toggle bit */
set_CF(temp_CF);
setB_CF(temp_CF);
/* now write diff back to destination */
if (i->modC0()) {
@ -1213,7 +1213,7 @@ void BX_CPU_C::BTR_EwIb(bxInstruction_c *i)
write_RMW_virtual_word(op1_16);
}
set_CF(temp_CF);
setB_CF(temp_CF);
}
void BX_CPU_C::BTR_EdIb(bxInstruction_c *i)
@ -1242,7 +1242,7 @@ void BX_CPU_C::BTR_EdIb(bxInstruction_c *i)
write_RMW_virtual_dword(op1_32);
}
set_CF(temp_CF);
setB_CF(temp_CF);
}
#if BX_SUPPORT_X86_64
@ -1272,7 +1272,7 @@ void BX_CPU_C::BTR_EqIb(bxInstruction_c *i)
write_RMW_virtual_qword(op1_64);
}
set_CF(temp_CF);
setB_CF(temp_CF);
}
#endif

View File

@ -1,5 +1,5 @@
/////////////////////////////////////////////////////////////////////////
// $Id: cpu.h,v 1.339 2007-10-20 17:03:33 sshwarts Exp $
// $Id: cpu.h,v 1.340 2007-10-21 22:07:32 sshwarts Exp $
/////////////////////////////////////////////////////////////////////////
//
// Copyright (C) 2001 MandrakeSoft S.A.
@ -32,7 +32,6 @@
#include <setjmp.h>
#include "cpu/lazy_flags.h"
#include "cpu/hostasm.h"
#if BX_DISASM
# include "disasm/disasm.h"
@ -421,13 +420,15 @@ typedef struct {
Bit32u VM_cached;
// accessors for all eflags in bx_flags_reg_t
// The macro is used once for each flag bit.
// The macro is used once for each flag bit
// Do not use for arithmetic flags !
#define DECLARE_EFLAG_ACCESSOR(name,bitnum) \
BX_CPP_INLINE void assert_##name (); \
BX_CPP_INLINE void clear_##name (); \
BX_CPP_INLINE Bit32u get_##name (); \
BX_CPP_INLINE bx_bool getB_##name (); \
BX_CPP_INLINE void set_##name (Bit8u val);
BX_CPP_INLINE void set_##name (Bit8u val); \
BX_CPP_INLINE void setB_##name (Bit8u val);
#define IMPLEMENT_EFLAG_ACCESSOR(name,bitnum) \
BX_CPP_INLINE void BX_CPU_C::assert_##name () { \
@ -445,6 +446,10 @@ typedef struct {
BX_CPP_INLINE void BX_CPU_C::set_##name (Bit8u val) { \
BX_CPU_THIS_PTR eflags.val32 = \
(BX_CPU_THIS_PTR eflags.val32&~(1<<bitnum))|((!!val)<<bitnum); \
} \
BX_CPP_INLINE void BX_CPU_C::setB_##name (Bit8u val) { \
BX_CPU_THIS_PTR eflags.val32 = \
(BX_CPU_THIS_PTR eflags.val32&~(1<<bitnum))|((val)<<bitnum); \
}
#if BX_SUPPORT_ALIGNMENT_CHECK
@ -1280,6 +1285,11 @@ public: // for now...
BX_CPU_THIS_PTR eflags.val32 &= ~(1<<eflagsBitShift); \
BX_CPU_THIS_PTR eflags.val32 |= ((!!val)<<eflagsBitShift); \
} \
BX_SMF void setB_##flag(bx_bool val) { \
BX_CPU_THIS_PTR lf_flags_status &= ~(lfMask); \
BX_CPU_THIS_PTR eflags.val32 &= ~(1<<eflagsBitShift); \
BX_CPU_THIS_PTR eflags.val32 |= ((val)<<eflagsBitShift); \
} \
BX_SMF void clear_##flag(void) { \
BX_CPU_THIS_PTR lf_flags_status &= ~(lfMask); \
BX_CPU_THIS_PTR eflags.val32 &= ~(1<<eflagsBitShift); \

View File

@ -1,5 +1,5 @@
/////////////////////////////////////////////////////////////////////////
// $Id: flag_ctrl.cc,v 1.26 2006-06-09 22:29:07 sshwarts Exp $
// $Id: flag_ctrl.cc,v 1.27 2007-10-21 22:07:32 sshwarts Exp $
/////////////////////////////////////////////////////////////////////////
//
// Copyright (C) 2002 MandrakeSoft S.A.
@ -34,11 +34,11 @@
void BX_CPU_C::SAHF(bxInstruction_c *i)
{
set_SF((AH & 0x80) >> 7);
set_ZF((AH & 0x40) >> 6);
set_AF((AH & 0x10) >> 4);
set_CF(AH & 0x01);
set_PF((AH & 0x04) >> 2);
setB_SF((AH & 0x80) >> 7);
setB_ZF((AH & 0x40) >> 6);
setB_AF((AH & 0x10) >> 4);
setB_CF (AH & 0x01);
setB_PF((AH & 0x04) >> 2);
}
void BX_CPU_C::LAHF(bxInstruction_c *i)

View File

@ -1,664 +0,0 @@
/////////////////////////////////////////////////////////////////////////
// $Id: hostasm.h,v 1.1 2004-02-15 17:57:44 cbothamy Exp $
/////////////////////////////////////////////////////////////////////////
//
// Copyright (C) 2001 MandrakeSoft S.A.
//
// MandrakeSoft S.A.
// 43, rue d'Aboukir
// 75002 Paris - France
// http://www.linux-mandrake.com/
// http://www.mandrakesoft.com/
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2 of the License, or (at your option) any later version.
//
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with this library; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#ifndef BX_HOSTASM_H
# define BX_HOSTASM_H 1
// This file defines some convience inline functions which do the
// dirty work of asm() statements for arithmetic instructions on x86 hosts.
// Essentially these speed up eflags processing since the value of the
// eflags register can be read directly on x86 hosts, after the
// arithmetic operations.
// gcc on i386
#if (defined(__i386__) && defined(__GNUC__) && BX_SupportHostAsms)
#define BX_HostAsm_Add16
static inline void
asmAdd16(Bit16u &sum_16, Bit16u op1_16, Bit16u op2_16, Bit32u &flags32)
{
asm (
"addw %3, %1 \n\t"
"pushfl \n\t"
"popl %0"
: "=g" (flags32), "=r" (sum_16)
: "1" (op1_16), "g" (op2_16)
: "cc"
);
}
#define BX_HostAsm_Add32
static inline void
asmAdd32(Bit32u &sum_32, Bit32u op1_32, Bit32u op2_32, Bit32u &flags32)
{
asm (
"addl %3, %1 \n\t"
"pushfl \n\t"
"popl %0"
: "=g" (flags32), "=r" (sum_32)
: "1" (op1_32), "g" (op2_32)
: "cc"
);
}
#define BX_HostAsm_Sub16
static inline void
asmSub16(Bit16u &diff_16, Bit16u op1_16, Bit16u op2_16, Bit32u &flags32)
{
asm (
"subw %3, %1\n\t"
"pushfl \n\t"
"popl %0"
: "=g" (flags32), "=r" (diff_16)
: "1" (op1_16), "g" (op2_16)
: "cc"
);
}
#define BX_HostAsm_Sub32
static inline void
asmSub32(Bit32u &diff_32, Bit32u op1_32, Bit32u op2_32, Bit32u &flags32)
{
asm (
"subl %3, %1\n\t"
"pushfl \n\t"
"popl %0"
: "=g" (flags32), "=r" (diff_32)
: "1" (op1_32), "g" (op2_32)
: "cc"
);
}
#define BX_HostAsm_Cmp8
static inline void
asmCmp8(Bit8u op1_8, Bit8u op2_8, Bit32u &flags32)
{
asm (
"cmpb %2, %1\n\t"
"pushfl \n\t"
"popl %0"
: "=g" (flags32)
: "q" (op1_8), "mq" (op2_8)
: "cc"
);
}
#define BX_HostAsm_Cmp16
static inline void
asmCmp16(Bit16u op1_16, Bit16u op2_16, Bit32u &flags32)
{
asm (
"cmpw %2, %1\n\t"
"pushfl \n\t"
"popl %0"
: "=g" (flags32)
: "r" (op1_16), "g" (op2_16)
: "cc"
);
}
#define BX_HostAsm_Cmp32
static inline void
asmCmp32(Bit32u op1_32, Bit32u op2_32, Bit32u &flags32)
{
asm (
"cmpl %2, %1\n\t"
"pushfl \n\t"
"popl %0"
: "=g" (flags32)
: "r" (op1_32), "g" (op2_32)
: "cc"
);
}
#define BX_HostAsm_Inc16
static inline void
asmInc16(Bit16u &op1_16, Bit32u &flags32)
{
asm (
"incw %1 \n\t"
"pushfl \n\t"
"popl %0"
: "=g" (flags32), "=g" (op1_16)
: "1" (op1_16)
: "cc"
);
}
#define BX_HostAsm_Inc32
static inline void
asmInc32(Bit32u &op1_32, Bit32u &flags32)
{
asm (
"incl %1 \n\t"
"pushfl \n\t"
"popl %0"
: "=g" (flags32), "=g" (op1_32)
: "1" (op1_32)
: "cc"
);
}
#define BX_HostAsm_Dec16
static inline void
asmDec16(Bit16u &op1_16, Bit32u &flags32)
{
asm (
"decw %1 \n\t"
"pushfl \n\t"
"popl %0"
: "=g" (flags32), "=g" (op1_16)
: "1" (op1_16)
: "cc"
);
}
#define BX_HostAsm_Dec32
static inline void
asmDec32(Bit32u &op1_32, Bit32u &flags32)
{
asm (
"decl %1 \n\t"
"pushfl \n\t"
"popl %0"
: "=g" (flags32), "=g" (op1_32)
: "1" (op1_32)
: "cc"
);
}
#define BX_HostAsm_Xor16
static inline void
asmXor16(Bit16u &result_16, Bit16u op1_16, Bit16u op2_16, Bit32u &flags32)
{
asm (
"xorw %3, %1 \n\t"
"pushfl \n\t"
"popl %0"
: "=g" (flags32), "=r" (result_16)
: "1" (op1_16), "g" (op2_16)
: "cc"
);
}
#define BX_HostAsm_Xor32
static inline void
asmXor32(Bit32u &result_32, Bit32u op1_32, Bit32u op2_32, Bit32u &flags32)
{
asm (
"xorl %3, %1 \n\t"
"pushfl \n\t"
"popl %0"
: "=g" (flags32), "=r" (result_32)
: "1" (op1_32), "g" (op2_32)
: "cc"
);
}
#define BX_HostAsm_Or8
static inline void
asmOr8(Bit8u &result_8, Bit8u op1_8, Bit8u op2_8, Bit32u &flags32)
{
asm (
"orb %3, %1 \n\t"
"pushfl \n\t"
"popl %0"
: "=g" (flags32), "=q" (result_8)
: "1" (op1_8), "mq" (op2_8)
: "cc"
);
}
#define BX_HostAsm_Or16
static inline void
asmOr16(Bit16u &result_16, Bit16u op1_16, Bit16u op2_16, Bit32u &flags32)
{
asm (
"orw %3, %1 \n\t"
"pushfl \n\t"
"popl %0"
: "=g" (flags32), "=r" (result_16)
: "1" (op1_16), "g" (op2_16)
: "cc"
);
}
#define BX_HostAsm_Or32
static inline void
asmOr32(Bit32u &result_32, Bit32u op1_32, Bit32u op2_32, Bit32u &flags32)
{
asm (
"orl %3, %1 \n\t"
"pushfl \n\t"
"popl %0"
: "=g" (flags32), "=r" (result_32)
: "1" (op1_32), "g" (op2_32)
: "cc"
);
}
#define BX_HostAsm_And8
static inline void
asmAnd8(Bit8u &result_8, Bit8u op1_8, Bit8u op2_8, Bit32u &flags32)
{
asm (
"andb %3, %1\n\t"
"pushfl \n\t"
"popl %0"
: "=g" (flags32), "=q" (result_8)
: "1" (op1_8), "mq" (op2_8)
: "cc"
);
}
#define BX_HostAsm_And16
static inline void
asmAnd16(Bit16u &result_16, Bit16u op1_16, Bit16u op2_16, Bit32u &flags32)
{
asm (
"andw %3, %1 \n\t"
"pushfl \n\t"
"popl %0"
: "=g" (flags32), "=r" (result_16)
: "1" (op1_16), "g" (op2_16)
: "cc"
);
}
#define BX_HostAsm_And32
static inline void
asmAnd32(Bit32u &result_32, Bit32u op1_32, Bit32u op2_32, Bit32u &flags32)
{
asm (
"andl %3, %1 \n\t"
"pushfl \n\t"
"popl %0"
: "=g" (flags32), "=r" (result_32)
: "1" (op1_32), "g" (op2_32)
: "cc"
);
}
#define BX_HostAsm_Test8
static inline void
asmTest8(Bit8u op1_8, Bit8u op2_8, Bit32u &flags32)
{
asm (
"testb %2, %1\n\t"
"pushfl \n\t"
"popl %0"
: "=g" (flags32)
: "q" (op1_8), "mq" (op2_8)
: "cc"
);
}
#define BX_HostAsm_Test16
static inline void
asmTest16(Bit16u op1_16, Bit16u op2_16, Bit32u &flags32)
{
asm (
"testw %2, %1\n\t"
"pushfl \n\t"
"popl %0"
: "=g" (flags32)
: "r" (op1_16), "g" (op2_16)
: "cc"
);
}
#define BX_HostAsm_Test32
static inline void
asmTest32(Bit32u op1_32, Bit32u op2_32, Bit32u &flags32)
{
asm (
"testl %2, %1\n\t"
"pushfl \n\t"
"popl %0"
: "=g" (flags32)
: "r" (op1_32), "g" (op2_32)
: "cc"
);
}
#define BX_HostAsm_Shr16
static inline void
asmShr16(Bit16u &result_16, Bit16u op1_16, unsigned count, Bit32u &flags32)
{
asm (
"shrw %%cl, %1\n\t"
"pushfl \n\t"
"popl %0"
: "=g" (flags32), "=g" (result_16)
: "1" (op1_16), "c" (count)
: "cc"
);
}
#define BX_HostAsm_Shr32
static inline void
asmShr32(Bit32u &result_32, Bit32u op1_32, unsigned count, Bit32u &flags32)
{
asm (
"shrl %%cl, %1\n\t"
"pushfl \n\t"
"popl %0"
: "=g" (flags32), "=g" (result_32)
: "1" (op1_32), "c" (count)
: "cc"
);
}
#endif // (defined(__i386__) && defined(__GNUC__) && BX_SupportHostAsms)
// msvc++ on i386
#if (defined(_M_IX86) && defined(_MSC_VER) && BX_SupportHostAsms)
#define BX_HostAsm_Add16
// asmAdd16(Bit16u &sum_16, Bit16u op1_16, Bit16u op2_16, Bit32u &flags32)
#define asmAdd16(sum_16,op1_16,op2_16,flags32) \
__asm { \
__asm mov ax,op1_16 \
__asm add ax,op2_16 \
__asm pushfd \
__asm pop edx \
__asm mov sum_16,ax \
__asm mov flags32,edx \
}
#define BX_HostAsm_Add32
// asmAdd32(Bit32u &sum_32, Bit32u op1_32, Bit32u op2_32, Bit32u &flags32)
#define asmAdd32(sum_32,op1_32,op2_32,flags32) \
__asm { \
__asm mov eax,op1_32 \
__asm add eax,op2_32 \
__asm pushfd \
__asm pop edx \
__asm mov sum_32,eax \
__asm mov flags32,edx \
}
#define BX_HostAsm_Sub16
// asmSub16(Bit16u &diff_16, Bit16u op1_16, Bit16u op2_16, Bit32u &flags32)
#define asmSub16(diff_16,op1_16,op2_16,flags32) \
__asm { \
__asm mov ax,op1_16 \
__asm sub ax,op2_16 \
__asm pushfd \
__asm pop edx \
__asm mov diff_16,ax \
__asm mov flags32,edx \
}
#define BX_HostAsm_Sub32
// asmSub32(Bit32u &diff_32, Bit32u op1_32, Bit32u op2_32, Bit32u &flags32)
#define asmSub32(diff_32,op1_32,op2_32,flags32) \
__asm { \
__asm mov eax,op1_32 \
__asm sub eax,op2_32 \
__asm pushfd \
__asm pop edx \
__asm mov diff_32,eax \
__asm mov flags32,edx \
}
#define BX_HostAsm_Cmp8
// asmCmp8(Bit8u op1_8, Bit8u op2_8, Bit32u &flags32)
#define asmCmp8(op1_8,op2_8,flags32) \
__asm { \
__asm mov al,op1_8 \
__asm cmp al,op2_8 \
__asm pushfd \
__asm pop edx \
__asm mov flags32,edx \
}
#define BX_HostAsm_Cmp16
// asmCmp16(Bit16u op1_16, Bit16u op2_16, Bit32u &flags32)
#define asmCmp16(op1_16,op2_16,flags32) \
__asm { \
__asm mov ax,op1_16 \
__asm cmp ax,op2_16 \
__asm pushfd \
__asm pop edx \
__asm mov flags32,edx \
}
#define BX_HostAsm_Cmp32
// asmCmp32(Bit32u op1_32, Bit32u op2_32, Bit32u &flags32)
#define asmCmp32(op1_32,op2_32,flags32) \
__asm { \
__asm mov eax,op1_32 \
__asm cmp eax,op2_32 \
__asm pushfd \
__asm pop edx \
__asm mov flags32,edx \
}
// FIXME: cannot compile arith16.cc because of 'union'.
//#define BX_HostAsm_Inc16
// asmInc16(Bit16u &op1_16, Bit32u &flags32)
#define asmInc16(op1_16,flags32) \
__asm { \
__asm inc word ptr op1_16 \
__asm pushfd \
__asm pop edx \
__asm mov flags32,edx \
}
// FIXME: cannot compile arith32.cc because of 'union'.
//#define BX_HostAsm_Inc32
// asmInc32(Bit32u &op1_32, Bit32u &flags32)
#define asmInc32(op1_32,flags32) \
__asm { \
__asm inc dword ptr op1_32 \
__asm pushfd \
__asm pop edx \
__asm mov flags32,edx \
}
// FIXME: cannot compile arith16.cc because of 'union'.
//#define BX_HostAsm_Dec16
// asmDec16(Bit16u &op1_16, Bit32u &flags32)
#define asmDec16(op1_16,flags32) \
__asm { \
__asm dec word ptr op1_16 \
__asm pushfd \
__asm pop edx \
__asm mov flags32,edx \
}
// FIXME: cannot compile arith32.cc because of 'union'.
//#define BX_HostAsm_Dec32
// asmDec32(Bit32u &op1_32, Bit32u &flags32)
#define asmDec32(op1_32,flags32) \
__asm { \
__asm dec dword ptr op1_32 \
__asm pushfd \
__asm pop edx \
__asm mov flags32,edx \
}
#define BX_HostAsm_Xor16
// asmXor16(Bit16u &result_16, Bit16u op1_16, Bit16u op2_16, Bit32u &flags32)
#define asmXor16(result_16,op1_16,op2_16,flags32) \
__asm { \
__asm mov ax,op1_16 \
__asm xor ax,op2_16 \
__asm pushfd \
__asm pop edx \
__asm mov result_16,ax \
__asm mov flags32,edx \
}
#define BX_HostAsm_Xor32
// asmXor32(Bit32u &result_32, Bit32u op1_32, Bit32u op2_32, Bit32u &flags32)
#define asmXor32(result_32,op1_32,op2_32,flags32) \
__asm { \
__asm mov eax,op1_32 \
__asm xor eax,op2_32 \
__asm pushfd \
__asm pop edx \
__asm mov result_32,eax \
__asm mov flags32,edx \
}
#define BX_HostAsm_Or8
// asmOr8(Bit8u &result_8, Bit8u op1_8, Bit8u op2_8, Bit32u &flags32)
#define asmOr8(result_8,op1_8,op2_8,flags32) \
__asm { \
__asm mov al,op1_8 \
__asm or al,op2_8 \
__asm pushfd \
__asm pop edx \
__asm mov result_8,al \
__asm mov flags32,edx \
}
#define BX_HostAsm_Or16
// asmOr16(Bit16u &result_16, Bit16u op1_16, Bit16u op2_16, Bit32u &flags32)
#define asmOr16(result_16,op1_16,op2_16,flags32) \
__asm { \
__asm mov ax,op1_16 \
__asm or ax,op2_16 \
__asm pushfd \
__asm pop edx \
__asm mov result_16,ax \
__asm mov flags32,edx \
}
#define BX_HostAsm_Or32
// asmOr32(Bit32u &result_32, Bit32u op1_32, Bit32u op2_32, Bit32u &flags32)
#define asmOr32(result_32,op1_32,op2_32,flags32) \
__asm { \
__asm mov eax,op1_32 \
__asm or eax,op2_32 \
__asm pushfd \
__asm pop edx \
__asm mov result_32,eax \
__asm mov flags32,edx \
}
#define BX_HostAsm_And8
// asmAnd8(Bit8u &result_8, Bit8u op1_8, Bit8u op2_8, Bit32u &flags32)
#define asmAnd8(result_8,op1_8,op2_8,flags32) \
__asm { \
__asm mov al,op1_8 \
__asm and al,op2_8 \
__asm pushfd \
__asm pop edx \
__asm mov result_8,al \
__asm mov flags32,edx \
}
#define BX_HostAsm_And16
// asmAnd16(Bit16u &result_16, Bit16u op1_16, Bit16u op2_16, Bit32u &flags32)
#define asmAnd16(result_16,op1_16,op2_16,flags32) \
__asm { \
__asm mov ax,op1_16 \
__asm and ax,op2_16 \
__asm pushfd \
__asm pop edx \
__asm mov result_16,ax \
__asm mov flags32,edx \
}
#define BX_HostAsm_And32
// asmAnd32(Bit32u &result_32, Bit32u op1_32, Bit32u op2_32, Bit32u &flags32)
#define asmAnd32(result_32,op1_32,op2_32,flags32) \
__asm { \
__asm mov eax,op1_32 \
__asm and eax,op2_32 \
__asm pushfd \
__asm pop edx \
__asm mov result_32,eax \
__asm mov flags32,edx \
}
#define BX_HostAsm_Test8
// asmTest8(Bit8u op1_8, Bit8u op2_8, Bit32u &flags32)
#define asmTest8(op1_8,op2_8,flags32) \
__asm { \
__asm mov al,op1_8 \
__asm test al,op2_8 \
__asm pushfd \
__asm pop edx \
__asm mov flags32,edx \
}
#define BX_HostAsm_Test16
// asmTest16(Bit16u op1_16, Bit16u op2_16, Bit32u &flags32)
#define asmTest16(op1_16,op2_16,flags32) \
__asm { \
__asm mov ax,op1_16 \
__asm test ax,op2_16 \
__asm pushfd \
__asm pop edx \
__asm mov flags32,edx \
}
#define BX_HostAsm_Test32
// asmTest32(Bit32u op1_32, Bit32u op2_32, Bit32u &flags32)
#define asmTest32(op1_32,op2_32,flags32) \
__asm { \
__asm mov eax,op1_32 \
__asm test eax,op2_32 \
__asm pushfd \
__asm pop edx \
__asm mov flags32,edx \
}
#define BX_HostAsm_Shr16
// asmShr16(Bit16u &result_16, Bit16u op1_16, unsigned count, Bit32u &flags32)
#define asmShr16(result_16,op1_16,count,flags32) \
__asm { \
__asm mov ax,op1_16 \
__asm mov cl,byte ptr count \
__asm shr ax,cl \
__asm pushfd \
__asm pop edx \
__asm mov result_16,ax \
__asm mov flags32,edx \
}
#define BX_HostAsm_Shr32
// asmShr32(Bit32u &result_32, Bit32u op1_32, unsigned count, Bit32u &flags32)
#define asmShr32(result_32,op1_32,count,flags32) \
__asm { \
__asm mov eax,op1_32 \
__asm mov cl,byte ptr count \
__asm shr eax,cl \
__asm pushfd \
__asm pop edx \
__asm mov result_32,eax \
__asm mov flags32,edx \
}
#endif // (defined(_M_IX86) && defined(_MSC_VER) && BX_SupportHostAsms)
#endif // BX_HOSTASM_H

View File

@ -1,5 +1,5 @@
/////////////////////////////////////////////////////////////////////////
// $Id: logical16.cc,v 1.26 2007-04-17 21:38:51 sshwarts Exp $
// $Id: logical16.cc,v 1.27 2007-10-21 22:07:33 sshwarts Exp $
/////////////////////////////////////////////////////////////////////////
//
// Copyright (C) 2001 MandrakeSoft S.A.
@ -40,30 +40,16 @@ void BX_CPU_C::XOR_EwGw(bxInstruction_c *i)
if (i->modC0()) {
op1_16 = BX_READ_16BIT_REG(i->rm());
#if defined(BX_HostAsm_Xor16)
Bit32u flags32;
asmXor16(result_16, op1_16, op2_16, flags32);
setEFlagsOSZAPC(flags32);
#else
result_16 = op1_16 ^ op2_16;
#endif
BX_WRITE_16BIT_REG(i->rm(), result_16);
}
else {
read_RMW_virtual_word(i->seg(), RMAddr(i), &op1_16);
#if defined(BX_HostAsm_Xor16)
Bit32u flags32;
asmXor16(result_16, op1_16, op2_16, flags32);
setEFlagsOSZAPC(flags32);
#else
result_16 = op1_16 ^ op2_16;
#endif
write_RMW_virtual_word(result_16);
}
#if !defined(BX_HostAsm_Xor16)
SET_FLAGS_OSZAPC_RESULT_16(result_16, BX_INSTR_LOGIC16);
#endif
}
void BX_CPU_C::XOR_GwEw(bxInstruction_c *i)
@ -188,14 +174,8 @@ void BX_CPU_C::OR_GwEw(bxInstruction_c *i)
read_virtual_word(i->seg(), RMAddr(i), &op2_16);
}
#if defined(BX_HostAsm_Or16)
Bit32u flags32;
asmOr16(result_16, op1_16, op2_16, flags32);
setEFlagsOSZAPC(flags32);
#else
result_16 = op1_16 | op2_16;
SET_FLAGS_OSZAPC_RESULT_16(result_16, BX_INSTR_LOGIC16);
#endif
BX_WRITE_16BIT_REG(i->nnn(), result_16);
}
@ -220,34 +200,16 @@ void BX_CPU_C::AND_EwGw(bxInstruction_c *i)
if (i->modC0()) {
op1_16 = BX_READ_16BIT_REG(i->rm());
#if defined(BX_HostAsm_And16)
Bit32u flags32;
asmAnd16(result_16, op1_16, op2_16, flags32);
setEFlagsOSZAPC(flags32);
#else
result_16 = op1_16 & op2_16;
#endif
BX_WRITE_16BIT_REG(i->rm(), result_16);
}
else {
read_RMW_virtual_word(i->seg(), RMAddr(i), &op1_16);
#if defined(BX_HostAsm_And16)
Bit32u flags32;
asmAnd16(result_16, op1_16, op2_16, flags32);
setEFlagsOSZAPC(flags32);
#else
result_16 = op1_16 & op2_16;
#endif
write_RMW_virtual_word(result_16);
}
#if !defined(BX_HostAsm_And16)
SET_FLAGS_OSZAPC_RESULT_16(result_16, BX_INSTR_LOGIC16);
#endif
}
void BX_CPU_C::AND_GwEw(bxInstruction_c *i)
@ -263,14 +225,8 @@ void BX_CPU_C::AND_GwEw(bxInstruction_c *i)
read_virtual_word(i->seg(), RMAddr(i), &op2_16);
}
#if defined(BX_HostAsm_And16)
Bit32u flags32;
asmAnd16(result_16, op1_16, op2_16, flags32);
setEFlagsOSZAPC(flags32);
#else
result_16 = op1_16 & op2_16;
SET_FLAGS_OSZAPC_RESULT_16(result_16, BX_INSTR_LOGIC16);
#endif
BX_WRITE_16BIT_REG(i->nnn(), result_16);
}
@ -282,14 +238,8 @@ void BX_CPU_C::AND_AXIw(bxInstruction_c *i)
op1_16 = AX;
op2_16 = i->Iw();
#if defined(BX_HostAsm_And16)
Bit32u flags32;
asmAnd16(result_16, op1_16, op2_16, flags32);
setEFlagsOSZAPC(flags32);
#else
result_16 = op1_16 & op2_16;
SET_FLAGS_OSZAPC_RESULT_16(result_16, BX_INSTR_LOGIC16);
#endif
AX = result_16;
}
@ -303,33 +253,19 @@ void BX_CPU_C::AND_EwIw(bxInstruction_c *i)
if (i->modC0()) {
op1_16 = BX_READ_16BIT_REG(i->rm());
#if defined(BX_HostAsm_And16)
Bit32u flags32;
asmAnd16(result_16, op1_16, op2_16, flags32);
setEFlagsOSZAPC(flags32);
#else
result_16 = op1_16 & op2_16;
#endif
BX_WRITE_16BIT_REG(i->rm(), result_16);
}
else {
read_RMW_virtual_word(i->seg(), RMAddr(i), &op1_16);
#if defined(BX_HostAsm_And16)
Bit32u flags32;
asmAnd16(result_16, op1_16, op2_16, flags32);
setEFlagsOSZAPC(flags32);
#else
result_16 = op1_16 & op2_16;
#endif
write_RMW_virtual_word(result_16);
}
#if !defined(BX_HostAsm_And16)
SET_FLAGS_OSZAPC_RESULT_16(result_16, BX_INSTR_LOGIC16);
#endif
}
void BX_CPU_C::TEST_EwGw(bxInstruction_c *i)
@ -345,14 +281,8 @@ void BX_CPU_C::TEST_EwGw(bxInstruction_c *i)
read_virtual_word(i->seg(), RMAddr(i), &op1_16);
}
#if defined(BX_HostAsm_Test16)
Bit32u flags32;
asmTest16(op1_16, op2_16, flags32);
setEFlagsOSZAPC(flags32);
#else
Bit16u result_16 = op1_16 & op2_16;
SET_FLAGS_OSZAPC_RESULT_16(result_16, BX_INSTR_LOGIC16);
#endif
}
void BX_CPU_C::TEST_AXIw(bxInstruction_c *i)
@ -362,14 +292,8 @@ void BX_CPU_C::TEST_AXIw(bxInstruction_c *i)
op1_16 = AX;
op2_16 = i->Iw();
#if defined(BX_HostAsm_Test16)
Bit32u flags32;
asmTest16(op1_16, op2_16, flags32);
setEFlagsOSZAPC(flags32);
#else
Bit16u result_16 = op1_16 & op2_16;
SET_FLAGS_OSZAPC_RESULT_16(result_16, BX_INSTR_LOGIC16);
#endif
}
void BX_CPU_C::TEST_EwIw(bxInstruction_c *i)
@ -385,12 +309,6 @@ void BX_CPU_C::TEST_EwIw(bxInstruction_c *i)
read_virtual_word(i->seg(), RMAddr(i), &op1_16);
}
#if defined(BX_HostAsm_Test16)
Bit32u flags32;
asmTest16(op1_16, op2_16, flags32);
setEFlagsOSZAPC(flags32);
#else
Bit16u result_16 = op1_16 & op2_16;
SET_FLAGS_OSZAPC_RESULT_16(result_16, BX_INSTR_LOGIC16);
#endif
}

View File

@ -1,5 +1,5 @@
/////////////////////////////////////////////////////////////////////////
// $Id: logical32.cc,v 1.27 2007-04-17 21:38:51 sshwarts Exp $
// $Id: logical32.cc,v 1.28 2007-10-21 22:07:33 sshwarts Exp $
/////////////////////////////////////////////////////////////////////////
//
// Copyright (C) 2001 MandrakeSoft S.A.
@ -178,14 +178,8 @@ void BX_CPU_C::OR_GdEd(bxInstruction_c *i)
read_virtual_dword(i->seg(), RMAddr(i), &op2_32);
}
#if defined(BX_HostAsm_Or32)
Bit32u flags32;
asmOr32(result_32, op1_32, op2_32, flags32);
setEFlagsOSZAPC(flags32);
#else
result_32 = op1_32 | op2_32;
SET_FLAGS_OSZAPC_RESULT_32(result_32, BX_INSTR_LOGIC32);
#endif
BX_WRITE_32BIT_REGZ(i->nnn(), result_32);
}
@ -211,34 +205,16 @@ void BX_CPU_C::AND_EdGd(bxInstruction_c *i)
if (i->modC0()) {
op1_32 = BX_READ_32BIT_REG(i->rm());
#if defined(BX_HostAsm_And32)
Bit32u flags32;
asmAnd32(result_32, op1_32, op2_32, flags32);
setEFlagsOSZAPC(flags32);
#else
result_32 = op1_32 & op2_32;
#endif
BX_WRITE_32BIT_REGZ(i->rm(), result_32);
}
else {
read_RMW_virtual_dword(i->seg(), RMAddr(i), &op1_32);
#if defined(BX_HostAsm_And32)
Bit32u flags32;
asmAnd32(result_32, op1_32, op2_32, flags32);
setEFlagsOSZAPC(flags32);
#else
result_32 = op1_32 & op2_32;
#endif
write_RMW_virtual_dword(result_32);
}
#if !defined(BX_HostAsm_And32)
SET_FLAGS_OSZAPC_RESULT_32(result_32, BX_INSTR_LOGIC32);
#endif
}
void BX_CPU_C::AND_GdEd(bxInstruction_c *i)
@ -254,14 +230,8 @@ void BX_CPU_C::AND_GdEd(bxInstruction_c *i)
read_virtual_dword(i->seg(), RMAddr(i), &op2_32);
}
#if defined(BX_HostAsm_And32)
Bit32u flags32;
asmAnd32(result_32, op1_32, op2_32, flags32);
setEFlagsOSZAPC(flags32);
#else
result_32 = op1_32 & op2_32;
SET_FLAGS_OSZAPC_RESULT_32(result_32, BX_INSTR_LOGIC32);
#endif
BX_WRITE_32BIT_REGZ(i->nnn(), result_32);
}
@ -273,14 +243,8 @@ void BX_CPU_C::AND_EAXId(bxInstruction_c *i)
op1_32 = EAX;
op2_32 = i->Id();
#if defined(BX_HostAsm_And32)
Bit32u flags32;
asmAnd32(result_32, op1_32, op2_32, flags32);
setEFlagsOSZAPC(flags32);
#else
result_32 = op1_32 & op2_32;
SET_FLAGS_OSZAPC_RESULT_32(result_32, BX_INSTR_LOGIC32);
#endif
RAX = result_32;
}
@ -293,34 +257,16 @@ void BX_CPU_C::AND_EdId(bxInstruction_c *i)
if (i->modC0()) {
op1_32 = BX_READ_32BIT_REG(i->rm());
#if defined(BX_HostAsm_And32)
Bit32u flags32;
asmAnd32(result_32, op1_32, op2_32, flags32);
setEFlagsOSZAPC(flags32);
#else
result_32 = op1_32 & op2_32;
#endif
BX_WRITE_32BIT_REGZ(i->rm(), result_32);
}
else {
read_RMW_virtual_dword(i->seg(), RMAddr(i), &op1_32);
#if defined(BX_HostAsm_And32)
Bit32u flags32;
asmAnd32(result_32, op1_32, op2_32, flags32);
setEFlagsOSZAPC(flags32);
#else
result_32 = op1_32 & op2_32;
#endif
write_RMW_virtual_dword(result_32);
}
#if !defined(BX_HostAsm_And32)
SET_FLAGS_OSZAPC_RESULT_32(result_32, BX_INSTR_LOGIC32);
#endif
}
void BX_CPU_C::TEST_EdGd(bxInstruction_c *i)
@ -336,14 +282,8 @@ void BX_CPU_C::TEST_EdGd(bxInstruction_c *i)
read_virtual_dword(i->seg(), RMAddr(i), &op1_32);
}
#if defined(BX_HostAsm_Test32)
Bit32u flags32;
asmTest32(op1_32, op2_32, flags32);
setEFlagsOSZAPC(flags32);
#else
Bit32u result_32 = op1_32 & op2_32;
SET_FLAGS_OSZAPC_RESULT_32(result_32, BX_INSTR_LOGIC32);
#endif
}
void BX_CPU_C::TEST_EAXId(bxInstruction_c *i)
@ -353,14 +293,8 @@ void BX_CPU_C::TEST_EAXId(bxInstruction_c *i)
op1_32 = EAX;
op2_32 = i->Id();
#if defined(BX_HostAsm_Test32)
Bit32u flags32;
asmTest32(op1_32, op2_32, flags32);
setEFlagsOSZAPC(flags32);
#else
Bit32u result_32 = op1_32 & op2_32;
SET_FLAGS_OSZAPC_RESULT_32(result_32, BX_INSTR_LOGIC32);
#endif
}
void BX_CPU_C::TEST_EdId(bxInstruction_c *i)
@ -376,12 +310,6 @@ void BX_CPU_C::TEST_EdId(bxInstruction_c *i)
read_virtual_dword(i->seg(), RMAddr(i), &op1_32);
}
#if defined(BX_HostAsm_Test32)
Bit32u flags32;
asmTest32(op1_32, op2_32, flags32);
setEFlagsOSZAPC(flags32);
#else
Bit32u result_32 = op1_32 & op2_32;
SET_FLAGS_OSZAPC_RESULT_32(result_32, BX_INSTR_LOGIC32);
#endif
}

View File

@ -1,5 +1,5 @@
/////////////////////////////////////////////////////////////////////////
// $Id: logical8.cc,v 1.29 2007-04-17 21:38:51 sshwarts Exp $
// $Id: logical8.cc,v 1.30 2007-10-21 22:07:33 sshwarts Exp $
/////////////////////////////////////////////////////////////////////////
//
// Copyright (C) 2001 MandrakeSoft S.A.
@ -172,14 +172,8 @@ void BX_CPU_C::OR_GbEb(bxInstruction_c *i)
read_virtual_byte(i->seg(), RMAddr(i), &op2);
}
#if defined(BX_HostAsm_Or8)
Bit32u flags32;
asmOr8(result, op1, op2, flags32);
setEFlagsOSZAPC(flags32);
#else
result = op1 | op2;
SET_FLAGS_OSZAPC_RESULT_8(result, BX_INSTR_LOGIC8);
#endif
BX_WRITE_8BIT_REGx(i->nnn(), i->extend8bitL(), result);
}
@ -191,14 +185,8 @@ void BX_CPU_C::OR_ALIb(bxInstruction_c *i)
op1 = AL;
op2 = i->Ib();
#if defined(BX_HostAsm_Or8)
Bit32u flags32;
asmOr8(result, op1, op2, flags32);
setEFlagsOSZAPC(flags32);
#else
result = op1 | op2;
SET_FLAGS_OSZAPC_RESULT_8(result, BX_INSTR_LOGIC8);
#endif
AL = result;
}
@ -211,34 +199,16 @@ void BX_CPU_C::AND_EbGb(bxInstruction_c *i)
if (i->modC0()) {
op1 = BX_READ_8BIT_REGx(i->rm(),i->extend8bitL());
#if defined(BX_HostAsm_And8)
Bit32u flags32;
asmAnd8(result, op1, op2, flags32);
setEFlagsOSZAPC(flags32);
#else
result = op1 & op2;
#endif
BX_WRITE_8BIT_REGx(i->rm(), i->extend8bitL(), result);
}
else {
read_RMW_virtual_byte(i->seg(), RMAddr(i), &op1);
#if defined(BX_HostAsm_And8)
Bit32u flags32;
asmAnd8(result, op1, op2, flags32);
setEFlagsOSZAPC(flags32);
#else
result = op1 & op2;
#endif
write_RMW_virtual_byte(result);
}
#if !defined(BX_HostAsm_And8)
SET_FLAGS_OSZAPC_RESULT_8(result, BX_INSTR_LOGIC8);
#endif
}
void BX_CPU_C::AND_GbEb(bxInstruction_c *i)
@ -254,14 +224,8 @@ void BX_CPU_C::AND_GbEb(bxInstruction_c *i)
read_virtual_byte(i->seg(), RMAddr(i), &op2);
}
#if defined(BX_HostAsm_And8)
Bit32u flags32;
asmAnd8(result, op1, op2, flags32);
setEFlagsOSZAPC(flags32);
#else
result = op1 & op2;
SET_FLAGS_OSZAPC_RESULT_8(result, BX_INSTR_LOGIC8);
#endif
BX_WRITE_8BIT_REGx(i->nnn(), i->extend8bitL(), result);
}
@ -273,14 +237,8 @@ void BX_CPU_C::AND_ALIb(bxInstruction_c *i)
op1 = AL;
op2 = i->Ib();
#if defined(BX_HostAsm_And8)
Bit32u flags32;
asmAnd8(result, op1, op2, flags32);
setEFlagsOSZAPC(flags32);
#else
result = op1 & op2;
SET_FLAGS_OSZAPC_RESULT_8(result, BX_INSTR_LOGIC8);
#endif
AL = result;
}
@ -293,34 +251,16 @@ void BX_CPU_C::AND_EbIb(bxInstruction_c *i)
if (i->modC0()) {
op1 = BX_READ_8BIT_REGx(i->rm(),i->extend8bitL());
#if defined(BX_HostAsm_And8)
Bit32u flags32;
asmAnd8(result, op1, op2, flags32);
setEFlagsOSZAPC(flags32);
#else
result = op1 & op2;
#endif
BX_WRITE_8BIT_REGx(i->rm(), i->extend8bitL(), result);
}
else {
read_RMW_virtual_byte(i->seg(), RMAddr(i), &op1);
#if defined(BX_HostAsm_And8)
Bit32u flags32;
asmAnd8(result, op1, op2, flags32);
setEFlagsOSZAPC(flags32);
#else
result = op1 & op2;
#endif
write_RMW_virtual_byte(result);
}
#if !defined(BX_HostAsm_And8)
SET_FLAGS_OSZAPC_RESULT_8(result, BX_INSTR_LOGIC8);
#endif
}
void BX_CPU_C::TEST_EbGb(bxInstruction_c *i)
@ -336,14 +276,8 @@ void BX_CPU_C::TEST_EbGb(bxInstruction_c *i)
read_virtual_byte(i->seg(), RMAddr(i), &op1);
}
#if defined(BX_HostAsm_Test8)
Bit32u flags32;
asmTest8(op1, op2, flags32);
setEFlagsOSZAPC(flags32);
#else
Bit8u result = op1 & op2;
SET_FLAGS_OSZAPC_RESULT_8(result, BX_INSTR_LOGIC8);
#endif
}
void BX_CPU_C::TEST_ALIb(bxInstruction_c *i)
@ -351,19 +285,13 @@ void BX_CPU_C::TEST_ALIb(bxInstruction_c *i)
Bit8u op1 = AL;
Bit8u op2 = i->Ib();
#if defined(BX_HostAsm_Test8)
Bit32u flags32;
asmTest8(op1, op2, flags32);
setEFlagsOSZAPC(flags32);
#else
Bit8u result = op1 & op2;
SET_FLAGS_OSZAPC_RESULT_8(result, BX_INSTR_LOGIC8);
#endif
}
void BX_CPU_C::TEST_EbIb(bxInstruction_c *i)
{
Bit8u op2, op1;
Bit8u op2, op1, result;
op2 = i->Ib();
@ -374,13 +302,6 @@ void BX_CPU_C::TEST_EbIb(bxInstruction_c *i)
read_virtual_byte(i->seg(), RMAddr(i), &op1);
}
#if defined(BX_HostAsm_Test8)
Bit32u flags32;
asmTest8(op1, op2, flags32);
setEFlagsOSZAPC(flags32);
#else
Bit8u result;
result = op1 & op2;
SET_FLAGS_OSZAPC_RESULT_8(result, BX_INSTR_LOGIC8);
#endif
}

View File

@ -1,5 +1,5 @@
/////////////////////////////////////////////////////////////////////////
// $Id: protect_ctrl.cc,v 1.62 2007-10-12 19:45:12 sshwarts Exp $
// $Id: protect_ctrl.cc,v 1.63 2007-10-21 22:07:33 sshwarts Exp $
/////////////////////////////////////////////////////////////////////////
//
// Copyright (C) 2001 MandrakeSoft S.A.
@ -59,10 +59,10 @@ void BX_CPU_C::ARPL_EwGw(bxInstruction_c *i)
else {
write_RMW_virtual_word(op1_16);
}
set_ZF(1);
assert_ZF();
}
else {
set_ZF(0);
clear_ZF();
}
}

View File

@ -1,5 +1,5 @@
/////////////////////////////////////////////////////////////////////////
// $Id: shift16.cc,v 1.32 2006-03-26 18:58:01 sshwarts Exp $
// $Id: shift16.cc,v 1.33 2007-10-21 22:07:33 sshwarts Exp $
/////////////////////////////////////////////////////////////////////////
//
// Copyright (C) 2001 MandrakeSoft S.A.
@ -160,8 +160,8 @@ void BX_CPU_C::ROL_Ew(bxInstruction_c *i)
if ( (count & 0x0f) == 0 ) {
if ( count & 0x10 ) {
unsigned bit0 = op1_16 & 1;
set_CF(bit0);
set_OF(bit0 ^ (op1_16 >> 15));
setB_CF(bit0);
setB_OF(bit0 ^ (op1_16 >> 15));
}
return;
}
@ -182,8 +182,8 @@ void BX_CPU_C::ROL_Ew(bxInstruction_c *i)
*/
bx_bool temp_CF = (result_16 & 0x01);
set_CF(temp_CF);
set_OF(temp_CF ^ (result_16 >> 15));
setB_CF(temp_CF);
setB_OF(temp_CF ^ (result_16 >> 15));
}
void BX_CPU_C::ROR_Ew(bxInstruction_c *i)
@ -211,8 +211,8 @@ void BX_CPU_C::ROR_Ew(bxInstruction_c *i)
if ( count & 0x10 ) {
unsigned bit14 = (op1_16 >> 14) & 1;
unsigned bit15 = (op1_16 >> 15);
set_CF(bit15);
set_OF(bit15 ^ bit14);
setB_CF(bit15);
setB_OF(bit15 ^ bit14);
}
return;
}
@ -234,8 +234,8 @@ void BX_CPU_C::ROR_Ew(bxInstruction_c *i)
bx_bool result_b15 = (result_16 & 0x8000) != 0;
bx_bool result_b14 = (result_16 & 0x4000) != 0;
set_CF(result_b15);
set_OF(result_b15 ^ result_b14);
setB_CF(result_b15);
setB_OF(result_b15 ^ result_b14);
}
void BX_CPU_C::RCL_Ew(bxInstruction_c *i)
@ -287,8 +287,8 @@ void BX_CPU_C::RCL_Ew(bxInstruction_c *i)
*/
bx_bool temp_CF = (op1_16 >> (16 - count)) & 0x01;
set_CF(temp_CF);
set_OF(temp_CF ^ (result_16 >> 15));
setB_CF(temp_CF);
setB_OF(temp_CF ^ (result_16 >> 15));
}
void BX_CPU_C::RCR_Ew(bxInstruction_c *i)
@ -332,8 +332,8 @@ void BX_CPU_C::RCR_Ew(bxInstruction_c *i)
* RCR count affects the following flags: C, O
*/
set_CF((op1_16 >> (count - 1)) & 0x01);
set_OF((((result_16 << 1) ^ result_16) & 0x8000) > 0);
setB_CF((op1_16 >> (count - 1)) & 0x01);
setB_OF((((result_16 << 1) ^ result_16) & 0x8000) > 0);
}
void BX_CPU_C::SHL_Ew(bxInstruction_c *i)
@ -399,14 +399,8 @@ void BX_CPU_C::SHR_Ew(bxInstruction_c *i)
if (!count) return;
#if defined(BX_HostAsm_Shr16)
Bit32u flags32;
asmShr16(result_16, op1_16, count, flags32);
setEFlagsOSZAPC(flags32);
#else
result_16 = (op1_16 >> count);
SET_FLAGS_OSZAPC_16(op1_16, count, result_16, BX_INSTR_SHR16);
#endif
/* now write result back to destination */
if (i->modC0()) {

View File

@ -1,5 +1,5 @@
/////////////////////////////////////////////////////////////////////////
// $Id: shift32.cc,v 1.31 2006-03-26 18:58:01 sshwarts Exp $
// $Id: shift32.cc,v 1.32 2007-10-21 22:07:33 sshwarts Exp $
/////////////////////////////////////////////////////////////////////////
//
// Copyright (C) 2001 MandrakeSoft S.A.
@ -149,8 +149,8 @@ void BX_CPU_C::ROL_Ed(bxInstruction_c *i)
*/
bx_bool temp_CF = (result_32 & 0x01);
set_CF(temp_CF);
set_OF(temp_CF ^ (result_32 >> 31));
setB_CF(temp_CF);
setB_OF(temp_CF ^ (result_32 >> 31));
}
void BX_CPU_C::ROR_Ed(bxInstruction_c *i)
@ -192,8 +192,8 @@ void BX_CPU_C::ROR_Ed(bxInstruction_c *i)
bx_bool result_b31 = (result_32 & 0x80000000) != 0;
bx_bool result_b30 = (result_32 & 0x40000000) != 0;
set_CF(result_b31);
set_OF(result_b31 ^ result_b30);
setB_CF(result_b31);
setB_OF(result_b31 ^ result_b30);
}
void BX_CPU_C::RCL_Ed(bxInstruction_c *i)
@ -240,8 +240,8 @@ void BX_CPU_C::RCL_Ed(bxInstruction_c *i)
*/
bx_bool temp_CF = (op1_32 >> (32 - count)) & 0x01;
set_CF(temp_CF);
set_OF(temp_CF ^ (result_32 >> 31));
setB_CF(temp_CF);
setB_OF(temp_CF ^ (result_32 >> 31));
}
void BX_CPU_C::RCR_Ed(bxInstruction_c *i)
@ -287,8 +287,8 @@ void BX_CPU_C::RCR_Ed(bxInstruction_c *i)
* RCR count affects the following flags: C, O
*/
set_CF((op1_32 >> (count - 1)) & 0x01);
set_OF((((result_32 << 1) ^ result_32) & 0x80000000) > 0);
setB_CF((op1_32 >> (count - 1)) & 0x01);
setB_OF((((result_32 << 1) ^ result_32) & 0x80000000) > 0);
}
void BX_CPU_C::SHL_Ed(bxInstruction_c *i)
@ -348,16 +348,10 @@ void BX_CPU_C::SHR_Ed(bxInstruction_c *i)
read_RMW_virtual_dword(i->seg(), RMAddr(i), &op1_32);
}
if (!count) return;
if (!count) return;
#if defined(BX_HostAsm_Shr32)
Bit32u flags32;
asmShr32(result_32, op1_32, count, flags32);
setEFlagsOSZAPC(flags32);
#else
result_32 = (op1_32 >> count);
SET_FLAGS_OSZAPC_32(op1_32, count, result_32, BX_INSTR_SHR32);
#endif
/* now write result back to destination */
if (i->modC0()) {

View File

@ -1,5 +1,5 @@
/////////////////////////////////////////////////////////////////////////
// $Id: shift64.cc,v 1.20 2006-03-26 18:58:01 sshwarts Exp $
// $Id: shift64.cc,v 1.21 2007-10-21 22:07:33 sshwarts Exp $
/////////////////////////////////////////////////////////////////////////
//
// Copyright (C) 2001 MandrakeSoft S.A.
@ -151,8 +151,8 @@ void BX_CPU_C::ROL_Eq(bxInstruction_c *i)
*/
bx_bool temp_CF = (result_64 & 0x01);
set_CF(temp_CF);
set_OF(temp_CF ^ (result_64 >> 63));
setB_CF(temp_CF);
setB_OF(temp_CF ^ (result_64 >> 63));
}
void BX_CPU_C::ROR_Eq(bxInstruction_c *i)
@ -194,8 +194,8 @@ void BX_CPU_C::ROR_Eq(bxInstruction_c *i)
bx_bool result_b63 = (result_64 & BX_CONST64(0x8000000000000000)) != 0;
bx_bool result_b62 = (result_64 & BX_CONST64(0x4000000000000000)) != 0;
set_CF(result_b63);
set_OF(result_b63 ^ result_b62);
setB_CF(result_b63);
setB_OF(result_b63 ^ result_b62);
}
void BX_CPU_C::RCL_Eq(bxInstruction_c *i)
@ -242,8 +242,8 @@ void BX_CPU_C::RCL_Eq(bxInstruction_c *i)
*/
bx_bool temp_CF = (op1_64 >> (64 - count)) & 0x01;
set_CF(temp_CF);
set_OF(temp_CF ^ (result_64 >> 63));
setB_CF(temp_CF);
setB_OF(temp_CF ^ (result_64 >> 63));
}
void BX_CPU_C::RCR_Eq(bxInstruction_c *i)
@ -289,8 +289,8 @@ void BX_CPU_C::RCR_Eq(bxInstruction_c *i)
* RCR count affects the following flags: C, O
*/
set_CF((op1_64 >> (count - 1)) & 0x01);
set_OF((((result_64 << 1) ^ result_64) & BX_CONST64(0x8000000000000000)) > 0);
setB_CF((op1_64 >> (count - 1)) & 0x01);
setB_OF((((result_64 << 1) ^ result_64) & BX_CONST64(0x8000000000000000)) > 0);
}
void BX_CPU_C::SHL_Eq(bxInstruction_c *i)

View File

@ -1,5 +1,5 @@
/////////////////////////////////////////////////////////////////////////
// $Id: shift8.cc,v 1.24 2006-03-26 18:58:01 sshwarts Exp $
// $Id: shift8.cc,v 1.25 2007-10-21 22:07:33 sshwarts Exp $
/////////////////////////////////////////////////////////////////////////
//
// Copyright (C) 2001 MandrakeSoft S.A.
@ -55,8 +55,8 @@ void BX_CPU_C::ROL_Eb(bxInstruction_c *i)
if ( (count & 0x07) == 0 ) {
if ( count & 0x18 ) {
unsigned bit0 = op1_8 & 1;
set_CF(bit0);
set_OF(bit0 ^ (op1_8 >> 7));
setB_CF(bit0);
setB_OF(bit0 ^ (op1_8 >> 7));
}
return;
}
@ -77,8 +77,8 @@ void BX_CPU_C::ROL_Eb(bxInstruction_c *i)
*/
bx_bool temp_CF = (result_8 & 0x01);
set_CF(temp_CF);
set_OF(temp_CF ^ (result_8 >> 7));
setB_CF(temp_CF);
setB_OF(temp_CF ^ (result_8 >> 7));
}
void BX_CPU_C::ROR_Eb(bxInstruction_c *i)
@ -106,8 +106,8 @@ void BX_CPU_C::ROR_Eb(bxInstruction_c *i)
if ( count & 0x18 ) {
unsigned bit6 = (op1_8 >> 6) & 1;
unsigned bit7 = (op1_8 >> 7);
set_CF(bit7);
set_OF(bit7 ^ bit6);
setB_CF(bit7);
setB_OF(bit7 ^ bit6);
}
return;
}
@ -129,8 +129,8 @@ void BX_CPU_C::ROR_Eb(bxInstruction_c *i)
bx_bool result_b7 = (result_8 & 0x80) != 0;
bx_bool result_b6 = (result_8 & 0x40) != 0;
set_CF(result_b7);
set_OF(result_b7 ^ result_b6);
setB_CF(result_b7);
setB_OF(result_b7 ^ result_b6);
}
void BX_CPU_C::RCL_Eb(bxInstruction_c *i)
@ -179,8 +179,8 @@ void BX_CPU_C::RCL_Eb(bxInstruction_c *i)
*/
bx_bool temp_CF = (op1_8 >> (8 - count)) & 0x01;
set_CF(temp_CF);
set_OF(temp_CF ^ (result_8 >> 7));
setB_CF(temp_CF);
setB_OF(temp_CF ^ (result_8 >> 7));
}
void BX_CPU_C::RCR_Eb(bxInstruction_c *i)
@ -223,8 +223,8 @@ void BX_CPU_C::RCR_Eb(bxInstruction_c *i)
* RCR count affects the following flags: C, O
*/
set_CF((op1_8 >> (count - 1)) & 0x01);
set_OF((((result_8 << 1) ^ result_8) & 0x80) > 0);
setB_CF((op1_8 >> (count - 1)) & 0x01);
setB_OF((((result_8 << 1) ^ result_8) & 0x80) > 0);
}
void BX_CPU_C::SHL_Eb(bxInstruction_c *i)

View File

@ -85,7 +85,7 @@ ferr.o: ferr.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h ../bx_debug/debug.h
../memory/memory.h ../pc_system.h ../plugin.h ../extplugin.h \
../gui/gui.h ../gui/textconfig.h ../config.h ../gui/keymap.h \
../instrument/stubs/instrument.h ../cpu/cpu.h ../cpu/lazy_flags.h \
../cpu/hostasm.h ../disasm/disasm.h ../config.h ../cpu/crregs.h \
../disasm/disasm.h ../config.h ../cpu/crregs.h \
../cpu/descriptor.h ../cpu/icache.h ../cpu/apic.h ../cpu/i387.h \
../fpu/softfloat.h ../config.h ../fpu/tag_w.h ../fpu/status_w.h \
../fpu/control_w.h ../cpu/xmm.h softfloat-specialize.h softfloat.h
@ -99,7 +99,7 @@ fpu.o: fpu.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h ../bx_debug/debug.h \
../memory/memory.h ../pc_system.h ../plugin.h ../extplugin.h \
../gui/gui.h ../gui/textconfig.h ../config.h ../gui/keymap.h \
../instrument/stubs/instrument.h ../cpu/cpu.h ../cpu/lazy_flags.h \
../cpu/hostasm.h ../disasm/disasm.h ../config.h ../cpu/crregs.h \
../disasm/disasm.h ../config.h ../cpu/crregs.h \
../cpu/descriptor.h ../cpu/icache.h ../cpu/apic.h ../cpu/i387.h \
../fpu/softfloat.h ../config.h ../fpu/tag_w.h ../fpu/status_w.h \
../fpu/control_w.h ../cpu/xmm.h ../iodev/iodev.h ../bochs.h \
@ -116,7 +116,7 @@ fpu_arith.o: fpu_arith.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h \
../gui/siminterface.h ../memory/memory.h ../pc_system.h ../plugin.h \
../extplugin.h ../gui/gui.h ../gui/textconfig.h ../config.h \
../gui/keymap.h ../instrument/stubs/instrument.h ../cpu/cpu.h \
../cpu/lazy_flags.h ../cpu/hostasm.h ../disasm/disasm.h ../config.h \
../cpu/lazy_flags.h ../disasm/disasm.h ../config.h \
../cpu/crregs.h ../cpu/descriptor.h ../cpu/icache.h ../cpu/apic.h \
../cpu/i387.h ../fpu/softfloat.h ../config.h ../fpu/tag_w.h \
../fpu/status_w.h ../fpu/control_w.h ../cpu/xmm.h
@ -125,7 +125,7 @@ fpu_compare.o: fpu_compare.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h \
../gui/siminterface.h ../memory/memory.h ../pc_system.h ../plugin.h \
../extplugin.h ../gui/gui.h ../gui/textconfig.h ../config.h \
../gui/keymap.h ../instrument/stubs/instrument.h ../cpu/cpu.h \
../cpu/lazy_flags.h ../cpu/hostasm.h ../disasm/disasm.h ../config.h \
../cpu/lazy_flags.h ../disasm/disasm.h ../config.h \
../cpu/crregs.h ../cpu/descriptor.h ../cpu/icache.h ../cpu/apic.h \
../cpu/i387.h ../fpu/softfloat.h ../config.h ../fpu/tag_w.h \
../fpu/status_w.h ../fpu/control_w.h ../cpu/xmm.h softfloatx80.h \
@ -135,7 +135,7 @@ fpu_const.o: fpu_const.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h \
../gui/siminterface.h ../memory/memory.h ../pc_system.h ../plugin.h \
../extplugin.h ../gui/gui.h ../gui/textconfig.h ../config.h \
../gui/keymap.h ../instrument/stubs/instrument.h ../cpu/cpu.h \
../cpu/lazy_flags.h ../cpu/hostasm.h ../disasm/disasm.h ../config.h \
../cpu/lazy_flags.h ../disasm/disasm.h ../config.h \
../cpu/crregs.h ../cpu/descriptor.h ../cpu/icache.h ../cpu/apic.h \
../cpu/i387.h ../fpu/softfloat.h ../config.h ../fpu/tag_w.h \
../fpu/status_w.h ../fpu/control_w.h ../cpu/xmm.h softfloatx80.h \
@ -145,7 +145,7 @@ fpu_load_store.o: fpu_load_store.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h
../gui/siminterface.h ../memory/memory.h ../pc_system.h ../plugin.h \
../extplugin.h ../gui/gui.h ../gui/textconfig.h ../config.h \
../gui/keymap.h ../instrument/stubs/instrument.h ../cpu/cpu.h \
../cpu/lazy_flags.h ../cpu/hostasm.h ../disasm/disasm.h ../config.h \
../cpu/lazy_flags.h ../disasm/disasm.h ../config.h \
../cpu/crregs.h ../cpu/descriptor.h ../cpu/icache.h ../cpu/apic.h \
../cpu/i387.h ../fpu/softfloat.h ../config.h ../fpu/tag_w.h \
../fpu/status_w.h ../fpu/control_w.h ../cpu/xmm.h softfloatx80.h \
@ -155,7 +155,7 @@ fpu_misc.o: fpu_misc.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h \
../gui/siminterface.h ../memory/memory.h ../pc_system.h ../plugin.h \
../extplugin.h ../gui/gui.h ../gui/textconfig.h ../config.h \
../gui/keymap.h ../instrument/stubs/instrument.h ../cpu/cpu.h \
../cpu/lazy_flags.h ../cpu/hostasm.h ../disasm/disasm.h ../config.h \
../cpu/lazy_flags.h ../disasm/disasm.h ../config.h \
../cpu/crregs.h ../cpu/descriptor.h ../cpu/icache.h ../cpu/apic.h \
../cpu/i387.h ../fpu/softfloat.h ../config.h ../fpu/tag_w.h \
../fpu/status_w.h ../fpu/control_w.h ../cpu/xmm.h softfloatx80.h \
@ -168,7 +168,7 @@ fpu_trans.o: fpu_trans.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h \
../gui/siminterface.h ../memory/memory.h ../pc_system.h ../plugin.h \
../extplugin.h ../gui/gui.h ../gui/textconfig.h ../config.h \
../gui/keymap.h ../instrument/stubs/instrument.h ../cpu/cpu.h \
../cpu/lazy_flags.h ../cpu/hostasm.h ../disasm/disasm.h ../config.h \
../cpu/lazy_flags.h ../disasm/disasm.h ../config.h \
../cpu/crregs.h ../cpu/descriptor.h ../cpu/icache.h ../cpu/apic.h \
../cpu/i387.h ../fpu/softfloat.h ../config.h ../fpu/tag_w.h \
../fpu/status_w.h ../fpu/control_w.h ../cpu/xmm.h softfloatx80.h \

View File

@ -223,7 +223,7 @@ acpi.o: acpi.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h ../bx_debug/debug.h
../bxversion.h ../gui/siminterface.h ../memory/memory.h ../pc_system.h \
../plugin.h ../extplugin.h ../ltdl.h ../gui/gui.h ../gui/textconfig.h \
../gui/keymap.h ../instrument/stubs/instrument.h ../cpu/cpu.h ../cpu/crregs.h \
../cpu/lazy_flags.h ../cpu/hostasm.h ../disasm/disasm.h \
../cpu/lazy_flags.h ../disasm/disasm.h \
../cpu/descriptor.h ../cpu/icache.h ../cpu/apic.h ../cpu/i387.h \
../fpu/softfloat.h ../fpu/tag_w.h ../fpu/status_w.h ../fpu/control_w.h \
../cpu/xmm.h iodev.h ../iodev/pci.h ../iodev/pci2isa.h \
@ -464,7 +464,7 @@ iodebug.o: iodebug.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h \
../memory/memory.h ../pc_system.h ../plugin.h ../extplugin.h ../ltdl.h \
../gui/gui.h ../gui/textconfig.h ../gui/keymap.h \
../instrument/stubs/instrument.h ../cpu/cpu.h ../cpu/lazy_flags.h \
../cpu/hostasm.h ../disasm/disasm.h ../cpu/descriptor.h ../cpu/icache.h \
../disasm/disasm.h ../cpu/descriptor.h ../cpu/icache.h \
../cpu/apic.h ../cpu/i387.h ../cpu/crregs.h ../fpu/softfloat.h \
../fpu/tag_w.h ../fpu/status_w.h ../fpu/control_w.h ../cpu/xmm.h iodev.h \
../iodev/pci.h ../iodev/pci2isa.h ../iodev/pci_ide.h ../iodev/acpi.h \
@ -786,7 +786,7 @@ acpi.lo: acpi.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h ../bx_debug/debug.h
../bxversion.h ../gui/siminterface.h ../memory/memory.h ../pc_system.h \
../plugin.h ../extplugin.h ../ltdl.h ../gui/gui.h ../gui/textconfig.h \
../gui/keymap.h ../instrument/stubs/instrument.h ../cpu/cpu.h ../cpu/crregs.h \
../cpu/lazy_flags.h ../cpu/hostasm.h ../disasm/disasm.h \
../cpu/lazy_flags.h ../disasm/disasm.h \
../cpu/descriptor.h ../cpu/icache.h ../cpu/apic.h ../cpu/i387.h \
../fpu/softfloat.h ../fpu/tag_w.h ../fpu/status_w.h ../fpu/control_w.h \
../cpu/xmm.h iodev.h ../iodev/pci.h ../iodev/pci2isa.h \
@ -1027,7 +1027,7 @@ iodebug.lo: iodebug.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h \
../memory/memory.h ../pc_system.h ../plugin.h ../extplugin.h ../ltdl.h \
../gui/gui.h ../gui/textconfig.h ../gui/keymap.h \
../instrument/stubs/instrument.h ../cpu/cpu.h ../cpu/lazy_flags.h \
../cpu/hostasm.h ../disasm/disasm.h ../cpu/descriptor.h ../cpu/icache.h \
../disasm/disasm.h ../cpu/descriptor.h ../cpu/icache.h \
../cpu/apic.h ../cpu/i387.h ../cpu/crregs.h ../fpu/softfloat.h \
../fpu/tag_w.h ../fpu/status_w.h ../fpu/control_w.h ../cpu/xmm.h iodev.h \
../iodev/pci.h ../iodev/pci2isa.h ../iodev/pci_ide.h ../iodev/acpi.h \

View File

@ -1,5 +1,5 @@
/////////////////////////////////////////////////////////////////////////
// $Id: main.cc,v 1.359 2007-10-16 16:17:48 sshwarts Exp $
// $Id: main.cc,v 1.360 2007-10-21 22:07:31 sshwarts Exp $
/////////////////////////////////////////////////////////////////////////
//
// Copyright (C) 2002 MandrakeSoft S.A.
@ -999,7 +999,6 @@ void bx_init_hardware()
BX_INFO((" Guest2HostTLB support: %s",BX_SupportGuest2HostTLB?"yes":"no"));
BX_INFO((" RepeatSpeedups support: %s",BX_SupportRepeatSpeedups?"yes":"no"));
BX_INFO((" Icache support: %s",BX_SUPPORT_ICACHE?"yes":"no"));
BX_INFO((" Host Asm support: %s",BX_SupportHostAsms?"yes":"no"));
BX_INFO((" Fast function calls: %s",BX_FAST_FUNC_CALL?"yes":"no"));
BX_INFO(("Devices configuration"));
BX_INFO((" ACPI support: %s",BX_SUPPORT_ACPI?"yes":"no"));

View File

@ -78,7 +78,7 @@ memory.o: memory.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h ../bx_debug/debu
../memory/memory.h ../pc_system.h ../plugin.h ../extplugin.h \
../gui/gui.h ../gui/textconfig.h ../config.h ../gui/keymap.h \
../instrument/stubs/instrument.h ../cpu/cpu.h ../cpu/lazy_flags.h \
../cpu/hostasm.h ../disasm/disasm.h ../config.h ../cpu/crregs.h \
../disasm/disasm.h ../config.h ../cpu/crregs.h \
../cpu/descriptor.h ../cpu/icache.h ../cpu/apic.h ../cpu/i387.h \
../fpu/softfloat.h ../config.h ../fpu/tag_w.h ../fpu/status_w.h \
../fpu/control_w.h ../cpu/xmm.h ../iodev/iodev.h ../bochs.h \
@ -95,7 +95,7 @@ misc_mem.o: misc_mem.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h \
../gui/siminterface.h ../memory/memory.h ../pc_system.h ../plugin.h \
../extplugin.h ../gui/gui.h ../gui/textconfig.h ../config.h \
../gui/keymap.h ../instrument/stubs/instrument.h ../cpu/cpu.h \
../cpu/lazy_flags.h ../cpu/hostasm.h ../disasm/disasm.h ../config.h \
../cpu/lazy_flags.h ../disasm/disasm.h ../config.h \
../cpu/crregs.h ../cpu/descriptor.h ../cpu/icache.h ../cpu/apic.h \
../cpu/i387.h ../fpu/softfloat.h ../config.h ../fpu/tag_w.h \
../fpu/status_w.h ../fpu/control_w.h ../cpu/xmm.h ../iodev/iodev.h \