Allow disassembling last addresses of the address space
authorblueswir1 <blueswir1@c046a42c-6fe2-441c-8c8c-71466251a162>
Fri, 13 Feb 2009 21:44:41 +0000 (21:44 +0000)
committerblueswir1 <blueswir1@c046a42c-6fe2-441c-8c8c-71466251a162>
Fri, 13 Feb 2009 21:44:41 +0000 (21:44 +0000)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6619 c046a42c-6fe2-441c-8c8c-71466251a162

disas.c

diff --git a/disas.c b/disas.c
index 83c8826..a8cd11c 100644 (file)
--- a/disas.c
+++ b/disas.c
@@ -204,7 +204,7 @@ void target_disas(FILE *out, target_ulong code, target_ulong size, int flags)
     return;
 #endif
 
-    for (pc = code; pc < code + size; pc += count) {
+    for (pc = code; size > 0; pc += count, size -= count) {
        fprintf(out, "0x" TARGET_FMT_lx ":  ", pc);
        count = print_insn(pc, &disasm_info);
 #if 0
@@ -276,7 +276,7 @@ void disas(FILE *out, void *code, unsigned long size)
            (long) code);
     return;
 #endif
-    for (pc = (unsigned long)code; pc < (unsigned long)code + size; pc += count) {
+    for (pc = (unsigned long)code; size > 0; pc += count, size -= count) {
        fprintf(out, "0x%08lx:  ", pc);
 #ifdef __arm__
         /* since data is included in the code, it is better to