X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=doc%2Fuserprog.texi;h=a92697d1b4fe209cbe78b6a2d2b6965bcac41854;hb=0b03e95ba4a5ca2c936a98d77caee8f6f4087529;hp=e3771e4e1aaf0f79e089841fa9d6432903737973;hpb=8f541a94d9e93c6040a38587ffafdc22f06eca0e;p=pintos-anon diff --git a/doc/userprog.texi b/doc/userprog.texi index e3771e4..a92697d 100644 --- a/doc/userprog.texi +++ b/doc/userprog.texi @@ -405,9 +405,9 @@ conditions (usually errors). @item SYS_exec @itemx pid_t exec (const char *@var{cmd_line}) Runs the executable whose name is given in @var{cmd_line}, passing any -given arguments, and returns the new process's program id (pid). If -there is an error loading this program, may return pid -1, which -otherwise should not be a valid id number. +given arguments, and returns the new process's program id (pid). Must +return pid -1, which otherwise should not be a valid program id, if +there is an error loading this program. @item SYS_join @itemx int join (pid_t @var{pid}) @@ -686,7 +686,7 @@ provide a little bit of helpful code: Returns true if successful, false if USRC is invalid. */ static inline bool get_user (uint8_t *dst, const uint8_t *usrc) { int eax; - asm ("movl $1f, %%eax; movb %2, %%al; movb %%al, %0; 1:" + asm ("mov %%eax, offset 1f; mov %%al, %2; mov %0, %%al; 1:" : "=m" (*dst), "=&a" (eax) : "m" (*usrc)); return eax != 0; } @@ -695,7 +695,7 @@ static inline bool get_user (uint8_t *dst, const uint8_t *usrc) { Returns true if successful, false if UDST is invalid. */ static inline bool put_user (uint8_t *udst, uint8_t byte) { int eax; - asm ("movl $1f, %%eax; movb %b2, %0; 1:" + asm ("mov %%eax, offset 1f; mov %0, %b2; 1:" : "=m" (*udst), "=&a" (eax) : "r" (byte)); return eax != 0; }