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

📄 crt0.s

📁 linux内核
💻 S
字号:
	.code16#ifndef REGPARM# error "This file assumes -mregparm=3 -DREGPARM=3"#endif		.section ".init","ax"	.globl _start	.type _start,@function_start:	# Align the stack and make sure the high half is zero	andl $0xfff8,%esp		# Clear the .bss	cld	xorl %eax,%eax	movw $__bss_start,%di	movw $_end+3,%cx	subw %di,%cx	shrw $2,%cx	rep ; stosl	# Compute argc and argv (assumes REGPARM)	xorl %edx,%edx	movzbw 0x80,%bx	movb %dl,0x81(%bx)	# Zero-terminate string	movb $0x81,%dl	pushl %eax		# Make space for argv	movl %esp,%eax	calll __parse_argv	pushl %eax		# argc	# Initialize malloc	calll __init_memory_arena	# Now call main... (NOTE: gcc forces main to be regparm 0)	popl %eax		# argc	popl %edx		# argv	calll main	# Here %eax is the exit code, fall through into exit		.size _start,.-_start	.globl exit	.type exit,@functionexit:	# Exit code already in %eax	movb $0x4c,%ah		# Terminate program	int $0x211:	hlt	jmp 1b	.size exit,.-exit

⌨️ 快捷键说明

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