Index: src/trusted/validator_x86/testdata/64/mov-lea-rbp-bad-1.tf |
diff --git a/src/trusted/validator_x86/testdata/64/mov-lea-rbp-bad-1.tf b/src/trusted/validator_x86/testdata/64/mov-lea-rbp-bad-1.tf |
new file mode 100644 |
index 0000000000000000000000000000000000000000..df743cefbf89aeaf27d18e8a5bc253e903b12915 |
--- /dev/null |
+++ b/src/trusted/validator_x86/testdata/64/mov-lea-rbp-bad-1.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 rsp in address instead of rbp. |
+# mov %ebp, %ecx |
+# lea %rbp, [%rsp+%r15*1] |
+asm: mov %ecx,%ebp |
+hex: 89 cd |
+nc_out: ERROR: Illegal assignment to EBP |
+ |
+asm: lea (%rsp,%r15,1),%rbp |
+hex: 4a 8d 2c 3c |
+nc_out: ERROR: Illegal change to register RBP |
+ |