Add explanatory comments to userprog tests.
[pintos-anon] / src / tests / userprog / sc-bad-arg.c
index 2df966f3e623b8d03968652333d66001dace358a..e0cad1581c6620983b15485ba59f316bdcc20f4c 100644 (file)
@@ -1,3 +1,9 @@
+/* Sticks a system call number (SYS_exit) at the very top of the
+   stack, then invokes a system call with the stack pointer
+   (%esp) set to its address.  The process must be terminated
+   with -1 exit code because the argument to the system call
+   would be above the top of the user address space. */
+
 #include <syscall-nr.h>
 #include "tests/lib.h"
 #include "tests/main.h"
@@ -5,7 +11,7 @@
 void
 test_main (void) 
 {
-  asm volatile ("mov %%esp, 0xbffffffc; mov [dword ptr %%esp], %0; int 0x30"
+  asm volatile ("movl $0xbffffffc, %%esp; movl %0, (%%esp); int $0x30"
                 :: "i" (SYS_exit));
   fail ("should have called exit(-1)");
 }