📄 syscall-i386-linux-1.0.s
字号:
#define SYS_getresuid 165#define SYS_vm86 166#define SYS_query_module 167#define SYS_poll 168#define SYS_nfsservctl 169#define SYS_setresgid 170#define SYS_getresgid 171#define SYS_prctl 172#define SYS_rt_sigreturn 173#define SYS_rt_sigaction 174#define SYS_rt_sigprocmask 175#define SYS_rt_sigpending 176#define SYS_rt_sigtimedwait 177#define SYS_rt_sigqueueinfo 178#define SYS_rt_sigsuspend 179#define SYS_pread 180#define SYS_pwrite 181#define SYS_chown 182#define SYS_getcwd 183#define SYS_capget 184#define SYS_capset 185#define SYS_sigaltstack 186#define SYS_sendfile 187#define SYS_getpmsg 188#define SYS_putpmsg 189#define SYS_vfork 190#define SYS_ugetrlimit 191#define SYS_mmap2 192#define SYS_truncate64 193#define SYS_ftruncate64 194#define SYS_stat64 195#define SYS_lstat64 196#define SYS_fstat64 197#define SYS_lchown32 198#define SYS_getuid32 199#define SYS_getgid32 200#define SYS_geteuid32 201#define SYS_getegid32 202#define SYS_setreuid32 203#define SYS_setregid32 204#define SYS_getgroups32 205#define SYS_setgroups32 206#define SYS_fchown32 207#define SYS_setresuid32 208#define SYS_getresuid32 209#define SYS_setresgid32 210#define SYS_getresgid32 211#define SYS_chown32 212#define SYS_setuid32 213#define SYS_setgid32 214#define SYS_setfsuid32 215#define SYS_setfsgid32 216#define SYS_pivot_root 217#define SYS_mincore 218#define SYS_madvise 219#define SYS_madvise1 219#define SYS_getdents64 220#define SYS_fcntl64 221#define NAME(X) cyg_hal_sys_##X #define END(X) 1: ; .type NAME(X),@function ; .size NAME(X),1b - NAME(X)#define SYSCALL0(x) \ .globl NAME(x) ; \ \NAME(x): \ \ push %ebx; \ lea SYS_##x, %eax; \ int $0x80; \ pop %ebx; \ ret; \ \ END(x)#define SYSCALL1(x) \ .globl NAME(x) ; \ \NAME(x): \ \ push %ebx; \ mov 8(%esp), %ebx; \ lea SYS_##x, %eax; \ int $0x80; \ pop %ebx; \ ret; \ \ END(x)#define SYSCALL2(x) \ .globl NAME(x) ; \ \NAME(x): \ \ push %ebx; \ mov 8(%esp), %ebx; \ mov 12(%esp), %ecx; \ lea SYS_##x, %eax; \ int $0x80; \ pop %ebx; \ ret; \ \ END(x)#define STATCALL2(x) \ .globl NAME(x) ; \ \NAME(x): \ \ push %ebx; \ mov 8(%esp), %ebx; \ mov 12(%esp), %ecx; \ lea SYS_prev_##x, %eax; \ int $0x80; \ pop %ebx; \ ret; \ END(x)#define SYSCALL3(x) \ .globl NAME(x) ; \ \NAME(x): \ \ push %ebx; \ mov 8(%esp), %ebx; \ mov 12(%esp), %ecx; \ mov 16(%esp), %edx; \ lea SYS_##x, %eax; \ int $0x80; \ pop %ebx; \ ret; \ END(x)#define SYSCALL4(x) \ .globl NAME(x) ; \ \NAME(x): \ \ push %ebx; \ push %esi; \ mov 12(%esp), %ebx; \ mov 16(%esp), %ecx; \ mov 20(%esp), %edx; \ mov 24(%esp), %esi; \ lea SYS_##x, %eax; \ int $0x80; \ pop %esi; \ pop %ebx; \ ret; \ END(x)#define SYSCALL5(x) \ .globl NAME(x) ; \ \NAME(x): \ \ push %ebx; \ push %esi; \ push %edi; \ mov 16(%esp), %ebx; \ mov 20(%esp), %ecx; \ mov 24(%esp), %edx; \ mov 28(%esp), %esi; \ mov 32(%esp), %edi; \ lea SYS_##x, %eax; \ int $0x80; \ pop %edi; \ pop %esi; \ pop %ebx; \ ret; \ END(x)//==========================================================================// Initial asm stuff for all functions. .text .align 2SYSCALL1(exit)SYSCALL0(fork)SYSCALL3(read)SYSCALL3(write)SYSCALL3(open)SYSCALL1(close)SYSCALL3(waitpid)SYSCALL2(creat)SYSCALL2(link)SYSCALL1(unlink)SYSCALL3(execve)SYSCALL1(chdir)SYSCALL1(time)SYSCALL2(chmod)SYSCALL3(lseek)SYSCALL0(getpid)SYSCALL0(getuid)SYSCALL1(nice)SYSCALL2(kill)SYSCALL1(dup)SYSCALL1(pipe)SYSCALL1(brk)SYSCALL3(ioctl)SYSCALL3(fcntl)SYSCALL1(chroot)SYSCALL2(dup2)SYSCALL3(sigaction)SYSCALL2(gettimeofday)SYSCALL1(mmap)SYSCALL2(socketcall)SYSCALL3(setitimer)SYSCALL3(sigprocmask)SYSCALL5(_newselect)SYSCALL3(readv)SYSCALL3(writev)SYSCALL1(fdatasync)SYSCALL2(getcwd)SYSCALL2(access)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -