]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
Implement 0xA0 /* MOV Ob,AL */ and 0xA2 /* MOV AL,Ob */.
authorJulian Seward <jseward@acm.org>
Tue, 2 Aug 2005 21:27:25 +0000 (21:27 +0000)
committerJulian Seward <jseward@acm.org>
Tue, 2 Aug 2005 21:27:25 +0000 (21:27 +0000)
git-svn-id: svn://svn.valgrind.org/vex/trunk@1311

VEX/priv/guest-amd64/toIR.c

index 3f673d663e32a382b6156ae4f9ad63d46db4ee09..d3d410cffbfa5bf7c7efb0cdb4e42a5c9c8cb1f2 100644 (file)
@@ -11667,12 +11667,14 @@ DisResult disInstr_AMD64_WRK (
 //..    case 0x8E: /* MOV Ew,Sw -- MOV to a SEGMENT REGISTER */
 //..       delta = dis_mov_Ew_Sw(sorb, delta);
 //..       break;
-//..  
-//..    case 0xA0: /* MOV Ob,AL */
-//..       sz = 1;
-//..       /* Fall through ... */
+   case 0xA0: /* MOV Ob,AL */
+      if (have66orF2orF3(pfx)) goto decode_failure;
+      sz = 1;
+      /* Fall through ... */
    case 0xA1: /* MOV Ov,eAX */
-      if (sz != 8 && sz != 4 && sz != 2) goto decode_failure;
+      if (sz != 8 && sz != 4 && sz != 2 && sz != 1) 
+         goto decode_failure;
       d64 = getDisp64(delta); 
       delta += 8;
       ty = szToITy(sz);
@@ -11684,11 +11686,13 @@ DisResult disInstr_AMD64_WRK (
                                   nameIRegRAX(sz));
       break;
 
-//..    case 0xA2: /* MOV AL,Ob */
-//..       sz = 1;
-//..       /* Fall through ... */
+   case 0xA2: /* MOV AL,Ob */
+      if (have66orF2orF3(pfx)) goto decode_failure;
+      sz = 1;
+      /* Fall through ... */
    case 0xA3: /* MOV eAX,Ov */
-      if (sz != 8 && sz != 4 && sz != 2) goto decode_failure;
+      if (sz != 8 && sz != 4 && sz != 2 && sz != 1) 
+         goto decode_failure;
       d64 = getDisp64(delta); 
       delta += 8;
       ty = szToITy(sz);