Всем привет! При вызове mmap(); прога выдает отрицательное число но сам файл открывается и смещение выполняется Код (Text): // filename - asciiz open_file: mov eax,SYS_open mov ebx,filename mov ecx,O_RDWR int 0x80 cmp eax,0xFFFFF000 ja exit xchg eax,ebx mov eax,SYS_lseek // lseek(fd,0,2); mov ecx,0 mov edx,2 int 0x80 xchg eax,edx push ebx push 0 push ebx push 1 push 3 push edx push 0 mov eax,SYS_mmap // mmap(0,edx/*file size*/,PROT_READ|PROT_WRITE,MAP_SHARED,ebx/*filedecrypter*/,0); mov ebx,esp int 0x80 add esp,byte 24 pop ebx cmp eax,0xFFFFF000 ja exit exit: mov eax,1 xor ebx,ebx int 0x80
96 просмотров и не одного ответа кстати я посмотрел значение eax в /usr/include/asm-generic/errrno-base.h там написано что типа EACCESS(0xfffffff3) и EBADF(0xfffffff7) ну со второй ошибкой все ясно а вот с первой =(
надеюсь ты читал вдумчиво вот это: http://www.opengroup.org/onlinepubs/000095399/functions/mmap.html ?