]> git.proxmox.com Git - mirror_qemu.git/commitdiff
64 bit disas fix
authorbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>
Mon, 31 Jan 2005 23:32:31 +0000 (23:32 +0000)
committerbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>
Mon, 31 Jan 2005 23:32:31 +0000 (23:32 +0000)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1260 c046a42c-6fe2-441c-8c8c-71466251a162

disas.c

diff --git a/disas.c b/disas.c
index 3a5549d2b685fb3bf61b84a37eba2ee7a5dd3798..8bba624465e9ee18d9ae19064b134c9696de7db2 100644 (file)
--- a/disas.c
+++ b/disas.c
@@ -148,11 +148,7 @@ void target_disas(FILE *out, target_ulong code, target_ulong size, int flags)
 #endif
 
     for (pc = code; pc < code + size; pc += count) {
-#if TARGET_LONG_BITS == 64        
-       fprintf(out, "0x%016llx:  ", pc);
-#else
-       fprintf(out, "0x%08x:  ", pc);
-#endif
+       fprintf(out, "0x" TARGET_FMT_lx ":  ", pc);
        count = print_insn(pc, &disasm_info);
 #if 0
         {
@@ -301,10 +297,12 @@ void monitor_disas(target_ulong pc, int nb_insn, int is_physical, int flags)
     disasm_info.endian = BFD_ENDIAN_LITTLE;
 #endif
 #if defined(TARGET_I386)
-    if (!flags)
-        disasm_info.mach = bfd_mach_i386_i386;
-    else
+    if (flags == 2)
+        disasm_info.mach = bfd_mach_x86_64;
+    else if (flags == 1) 
         disasm_info.mach = bfd_mach_i386_i8086;
+    else
+        disasm_info.mach = bfd_mach_i386_i386;
     print_insn = print_insn_i386;
 #elif defined(TARGET_ARM)
     print_insn = print_insn_arm;
@@ -318,7 +316,7 @@ void monitor_disas(target_ulong pc, int nb_insn, int is_physical, int flags)
 #endif
 
     for(i = 0; i < nb_insn; i++) {
-       term_printf("0x%08lx:  ", (unsigned long)pc);
+       term_printf("0x" TARGET_FMT_lx ":  ", pc);
        count = print_insn(pc, &disasm_info);
        term_printf("\n");
        if (count < 0)