stub.s

来自「底层驱动开发」· S 代码 · 共 52 行

S
52
字号
#include "uml-config.h"	.globl syscall_stub.section .__syscall_stub, "x"	.globl batch_syscall_stubbatch_syscall_stub:	/* load pointer to first operation */	mov	$(UML_CONFIG_STUB_DATA+8), %espagain:	/* load length of additional data */	mov	0x0(%esp), %eax	/* if(length == 0) : end of list */	/* write possible 0 to header */	mov	%eax, UML_CONFIG_STUB_DATA+4	cmpl	$0, %eax	jz	done	/* save current pointer */	mov	%esp, UML_CONFIG_STUB_DATA+4	/* skip additional data */	add	%eax, %esp	/* load syscall-# */	pop	%eax	/* load syscall params */	pop	%ebx	pop	%ecx	pop	%edx	pop	%esi 	pop	%edi	pop	%ebp	/* execute syscall */	int	$0x80	/* check return value */	pop	%ebx	cmp	%ebx, %eax	je	againdone:	/* save return value */	mov	%eax, UML_CONFIG_STUB_DATA	/* stop */	int3

⌨️ 快捷键说明

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