instruction_length(): extended
authorshort <>
Mon, 10 Feb 2003 10:09:16 +0000 (10:09 +0000)
committershort <>
Mon, 10 Feb 2003 10:09:16 +0000 (10:09 +0000)
src/libcaptive/ldr/loader.c

index 66cfc76..34d00b5 100644 (file)
@@ -404,6 +404,16 @@ static gsize instruction_length(const guint8 *instr)
                                        return 4;       /* 8B 44 address-mode offset */
                                default: g_assert_not_reached();
                                }
+               case 0x8F:      /* lea Gb,M */
+                       switch (instr[1]) {
+                               case 0x04:
+                                       switch (instr[2]) {
+                                               case 0x24:      /* popl (%esp,1) */
+                                                       return 3;
+                                               default: g_assert_not_reached();
+                                               }
+                               default: g_assert_not_reached();
+                               }
                case 0x9C:      /* pushf */
                        return 1;
                case 0x9D:      /* popf */