Index: src/trusted/validator/x86/testing/tf/converted/64/mov-lea-rbp-bad-4.tf |
diff --git a/src/trusted/validator/x86/testing/tf/converted/64/mov-lea-rbp-bad-4.tf b/src/trusted/validator/x86/testing/tf/converted/64/mov-lea-rbp-bad-4.tf |
new file mode 100644 |
index 0000000000000000000000000000000000000000..0b6da94ad2270ea5f0ed7cf0fae7ccab4ee5b5ed |
--- /dev/null |
+++ b/src/trusted/validator/x86/testing/tf/converted/64/mov-lea-rbp-bad-4.tf |
@@ -0,0 +1,16 @@ |
+BITS: 64 |
+OUTCOME: invalid |
+ |
+# Bad example of using lea solution (instead of add) to update rbp. |
+# That is, we add a (non-zero) constant to the address of the lea. |
+# base register r15. |
+# mov %ebp, %ecx |
+# lea %rbp, [%rbp+%r15*1+0x1] |
+asm: mov %ecx,%ebp |
+hex: 89 cd |
+nc_out: ERROR: Illegal assignment to EBP |
+ |
+asm: lea 0x1(%rbp,%r15,1),%rbp |
+hex: 4a 8d 6c 3d 01 |
+nc_out: ERROR: Illegal change to register RBP |
+ |