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

📄 crt0.s

📁 俄罗斯高人Mamaich的Pocket gcc编译器(运行在PocketPC上)的全部源代码。
💻 S
字号:
# XSTORMY16 startup code# Interrupt vectors at 0x8000.	.section .int_vec,"ax"	.global	_start	.align 1_start:	;; Reset, watchdog timer interrupt	jmpf _int_reset	;; base timer interrupt	jmpf _int_basetimer	;; timer 0	jmpf _int_timer0	;; timer 1	jmpf _int_timer1	;; SIO0 interrupt	jmpf _int_sio0	;; SIO1 interrupt	jmpf _int_sio1	;; port0 interrupt	jmpf _int_port0	;; port1 interrupt	jmpf _int_port1	.text# Reset code, set up memory and call main._int_reset:	;; Set up the stack pointer.	mov r0,#__stack        bz  r0,#0,0f	mov sp,r00:	;; Zero the data space	mov r0,#_edata	mov r1,#_end	mov r2,#00:	mov.w (r0++),r2	blt r0,r1,0b	;; Call hardware init routine	callf _hwinit	;; Call initialization routines	callf _init	;; Set up fini routines to be called from exit	mov r2,#@fptr(_fini)	callf atexit	;; Call main() with empty argc/argv/envp	mov r2,#0	mov r3,#0	mov r4,#0	callf main	;; Exit.	callf exit	;; Should never reach this code.	halt1:	.size _int_reset,1b-_int_reset		# Stub interrupt routines.	.globl _int_timer0	.weak _int_timer0	.globl _int_timer1	.weak _int_timer1	.globl _int_sio0	.weak _int_sio0	.globl _int_sio1	.weak _int_sio1	.globl _int_port0	.weak _int_port0	.globl _int_port1	.weak _int_port1	.globl _int_basetimer	.weak _int_basetimer_int_timer0:_int_timer1:_int_sio0:_int_sio1:_int_port0:_int_port1:_int_basetimer:	iret1:	.size _int_timer0,1b-_int_timer0# Stub hardware init	.globl _hwinit	.weak _hwinit_hwinit:	ret1:	.size _int_hwinit,1b-_int_hwinit# The first word in .data has address 0, so it's not a good# idea to use it as its address conflicts with NULL.# Place a HALT instruction there to try to catch NULL pointer# dereferences.	.data	halt

⌨️ 快捷键说明

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