⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 syscall.s

📁 klibc精简化的c程序库
💻 S
字号:
/* * arch/i386/syscall.S * * Common tail-handling code for system calls. * * The arguments are on the stack; the system call number in %eax. */#define ARG(n)	(4*n+20)(%esp)	.text	.align	4	.globl	__syscall_common	.type	__syscall_common,@function__syscall_common:#ifdef _REGPARM	xchgl	%ebx,(%esp)#else	popl	%eax	pushl	%ebx#endif	pushl	%esi	pushl	%edi	pushl	%ebp#ifdef _REGPARM	xchgl	%eax,%ebx	xchgl	%ecx,%edx	movl	ARG(0),%esi	movl	ARG(1),%edi	movl	ARG(2),%ebp#else	movl	ARG(0),%ebx		# Syscall arguments	movl	ARG(1),%ecx	movl	ARG(2),%edx	movl	ARG(3),%esi	movl	ARG(4),%edi	movl	ARG(5),%ebp#endif	.globl __syscall_common_tail__syscall_common_tail:	int	$0x80	cmpl	$-4095,%eax	popl	%ebp	popl	%edi	popl	%esi	popl	%ebx	jb	1f	# Error return, must set errno	negl	%eax	movl	%eax,errno	orl	$-1,%eax		# Return -11:	ret	.size	__syscall_common,.-__syscall_common#ifndef _REGPARM	.globl	__syscall_varadic	.type	__syscall_varadic,@function__syscall_varadic = __syscall_common#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -