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

📄 vectors.s

📁 eCos操作系统源码
💻 S
字号:
##=============================================================================####      vectors.S####      x86 exception vectors####=============================================================================#####ECOSGPLCOPYRIGHTBEGIN###### -------------------------------------------## This file is part of eCos, the Embedded Configurable Operating System.## Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.#### eCos is free software; you can redistribute it and/or modify it under## the terms of the GNU General Public License as published by the Free## Software Foundation; either version 2 or (at your option) any later version.#### eCos is distributed in the hope that it will be useful, but WITHOUT ANY## WARRANTY; without even the implied warranty of MERCHANTABILITY or## FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License## for more details.#### You should have received a copy of the GNU General Public License along## with eCos; if not, write to the Free Software Foundation, Inc.,## 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.#### As a special exception, if other files instantiate templates or use macros## or inline functions from this file, or you compile this file and link it## with other works to produce a work based on this file, this file does not## by itself cause the resulting work to be covered by the GNU General Public## License. However the source code for this file must still be made available## in accordance with section (3) of the GNU General Public License.#### This exception does not invalidate any other reasons why a work based on## this file might be covered by the GNU General Public License.#### Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.## at http://sources.redhat.com/ecos/ecos-license/## -------------------------------------------#####ECOSGPLCOPYRIGHTEND######=============================================================================#######DESCRIPTIONBEGIN######## Author(s):   bartv## Contributors:bartv## Date:        2001-03-16## Purpose:     Synthetic target startup## Description: When running on real hardware vectors.S contains##	        initialization code and usually the low-level interrupt and##              exception support. On the synthetic target the latter is##              handled by C code. The main initialization that is needed is##              to jump into the C startup.        ########DESCRIPTIONEND########=============================================================================# According the SVR4/i386 ABI, most registers are undefined. However# there is some interesting information on the stack:   #     %esp              argc#     %esp+4            argv[0]#     ...               argv[1 onwards]#     %esp + (argc*4)   NULL#     ...               environ[0]#     ...               ...#     ...               NULL                                                ## There are some other things that could be done, for example aligning# the stack to a 16-byte boundary for SSE, but it is not clear which of# those things are actually useful. The glibc source file# sysdeps/i386/elf/start.S contains some relevant information.#==============================================================================        .file   "vectors.S"	.extern	_linux_entry                .data        .global cyg_hal_sys_argccyg_hal_sys_argc:               .long   0        .global cyg_hal_sys_argvcyg_hal_sys_argv:        .long   0        .global cyg_hal_sys_environcyg_hal_sys_environ:        .long 0        	.text	.globl	_start_start:        popl    %eax        movl    %eax, cyg_hal_sys_argc        movl    %esp, %ebx        movl    %ebx, cyg_hal_sys_argv        inc     %eax        addl    %eax, %eax        addl    %eax, %eax        addl    %eax, %ebx        movl    %ebx, cyg_hal_sys_environ        	jmp	_linux_entry

⌨️ 快捷键说明

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