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

📄 stub.s

📁 linux-2.6.15.6
💻 S
字号:
#include "uml-config.h"	.globl syscall_stub.section .__syscall_stub, "x"syscall_stub:	syscall	/* We don't have 64-bit constants, so this constructs the address	 * we need.	 */	movq	$(UML_CONFIG_STUB_DATA >> 32), %rbx	salq	$32, %rbx	movq	$(UML_CONFIG_STUB_DATA & 0xffffffff), %rcx	or	%rcx, %rbx	movq	%rax, (%rbx)	int3	.globl batch_syscall_stubbatch_syscall_stub:	mov	$(UML_CONFIG_STUB_DATA >> 32), %rbx	sal	$32, %rbx	mov	$(UML_CONFIG_STUB_DATA & 0xffffffff), %rax	or	%rax, %rbx	/* load pointer to first operation */	mov	%rbx, %rsp	add	$0x10, %rspagain:	/* load length of additional data */	mov	0x0(%rsp), %rax	/* if(length == 0) : end of list */	/* write possible 0 to header */	mov	%rax, 8(%rbx)	cmp	$0, %rax	jz	done	/* save current pointer */	mov	%rsp, 8(%rbx)	/* skip additional data */	add	%rax, %rsp	/* load syscall-# */	pop	%rax	/* load syscall params */	pop	%rdi	pop	%rsi	pop	%rdx	pop	%r10 	pop	%r8	pop	%r9	/* execute syscall */	syscall	/* check return value */	pop	%rcx	cmp	%rcx, %rax	je	againdone:	/* save return value */	mov	%rax, (%rbx)	/* stop */	int3

⌨️ 快捷键说明

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