Index: src/trusted/validator_x86/testdata/64/mov-lea-rbp-bad-2.tf |
diff --git a/src/trusted/validator_x86/testdata/64/mov-lea-rbp-bad-2.tf b/src/trusted/validator_x86/testdata/64/mov-lea-rbp-bad-2.tf |
new file mode 100644 |
index 0000000000000000000000000000000000000000..21e2f08c8093c8639d341cf51418876ea1827c0d |
--- /dev/null |
+++ b/src/trusted/validator_x86/testdata/64/mov-lea-rbp-bad-2.tf |
@@ -0,0 +1,15 @@ |
+BITS: 64 |
+OUTCOME: invalid |
+ |
+# Bad example of using lea solution (instead of add) to update rbp. |
+# That is where we use r14 instead of r15 for the base register. |
+# mov %ebp, %ecx |
+# lea %rbp, [%rbp+%r14*1] |
+asm: mov %ecx,%ebp |
+hex: 89 cd |
+nc_out: ERROR: Illegal assignment to EBP |
+ |
+asm: lea 0x0(%rbp,%r14,1),%rbp |
+hex: 4a 8d 6c 35 00 |
+nc_out: ERROR: Illegal change to register RBP |
+ |