亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? startup.s

?? MPC860SAR源代碼
?? S
字號:

#-----------------------------------------------------------------------------
#
# FILE:  startup.s
## DESCRIPTION: 
#
#  This file is where the external interrupt vector definitions are for the 
#  external interrupt handler. It is also where the assembly part of the 
#  external interrupt handler is. This module also initializes vector 0x500
#  for this handler. The stack frame is established here as well as zeroing
#  out the .bss or uninitialized data section. The start of code execution 
#  starts here. Keep in mind that all assembly directives are Metaware's 
#  assembler.
## REFERENCES: 
#
#      1) MPC860 Users Manual
#      2) PowerPC Microprocessor Family: The Programming Environments for 
#         32-Bit Microprocessors
#
# HISTORY:
## 5/15/96       saw      Initial Version.
# 5/24/96       saw      Added Stack Layout Comment and Fixed Stack.
# 8/14/96       saw      Optimized and Fixed Error with Saving
#                        CR on stack.
# 8/15/96       saw      Space for SRR0,SRR1 on stack.
# 8/21/97       sgj      Fixed register restoration bug
# 12/4/97       jay      Moved startup code here from the the main source 
#                        file. Fixed a bug where TopOfStack was not placed
#                        in memory where it should of. Also cleaned up what
#                        was asm8xx.s and is now this file.
#
#-----------------------------------------------------------------------------

.file "startup.s"

#****************************************************************#
# 
# #****************************************************************   .section .text, text
	.globl _start
_start:#****************************************************************## STACK SET-UP:## If your system does not have a loader that sets up the #  application's stack before passing control to the application, #  or if the application is responsible for setting up its own #  stack, use or modify the code provided below.## On most systems that allow dynamic expansion of the stack, #  stack set-up is done by the system's loader.  If you have a #  system loader that sets up the stack for your application, #  comment out the code between [begin] and [end] in the #  following section.## NOTE:  If your system has an operating system and you#        want to return control to the operating system#        at application termination, then it is better #        to have the loader set up the application's#        stack.  Otherwise, you will need to use the #        code below to save the system stack--a more #        complicated process.##****************************************************************#-------------------- set up frame stack -----------------# allocate space for stack. Change the size of STACKSIZE# as needed.   
   .set STACKSIZE, 1024   .section .stack, bss      .align 3                # Align to a 8 byte boundary   .skip STACKSIZE         # Generate a block of zero-initialized bytes
TOP_OF_STACK:
   .previous# init stack pointer   
   lis	%r11,TOP_OF_STACK@ha   addi	%r1,%r11,TOP_OF_STACK@l   addi    %r0,%r0,0   stwu    %r0,-24-32(%r1)  # Provide some buffer from the stack boundary#****************************************************************# In a real program, where the rom monitor is not being used in 
# this example, PowerPC initialization code would go here.
#****************************************************************
# -->insert initialization code here
#****************************************************************## jump to main()##****************************************************************   bl      Main
#****************************************************************
#
#  If for what ever reason we get here, spin.
#
#****************************************************************

SPIN_HERE:

   nop
   b   SPIN_HERE

#*****************************************************************************
#
#       ABI Stack Layout
#
# Reference: PowerPC Processor ABI Supplement 9/95
#
#             Low Address
# ----------------------------------------------
# | C Frame (Quad-Word Aligned)                | Word 0    <- Updated SP
# |   Contents:  LR, R1 (Back Chain),          | Word 1
# |              PADDING                       | Word 2
# |   TOTAL: 4 Words                           | Word 3
# ----------------------------------------------
# | Interrupt STACK Frame (Quad-Word Aligned)  | Word 0
# | Contents In Exact Order:                   |
# |  R0-R12,SRR0,SRR1,LR,CTR,XER,CR, (19 W)    |
# |  PADDING (1 W)                             |
# |                                            |
# |  NOTE:  R1,R2 Not Saved On Stack           |
# |                                            |
# |  TOTAL:  20 Words                          | Word 19
# ----------------------------------------------
# | R1 (Back Chain)                            | Word 0    <- Original SP
# ----------------------------------------------
#             High Address
#
#*****************************************************************************

.extern ExtIntHandler

#-----------------------------
# Globally accessible symbols
#-----------------------------

.globl ExtIntTable

#-------------------------------------------------
# PowerPC Defined Vector for External Interrupt
#-------------------------------------------------

.equ EXTERNAL_INTERRUPT_VECTOR,	0x500

#-------------------------------------------------
# ABI Compliant Interrupt StackFrame Space
#-------------------------------------------------
              
.equ	R0_OFFSET,	   (0*4)	   # R0 Stack Offset
# .equ	R1_OFFSET,	(1*4)	   # R1 Stack Offset
# .equ	R2_OFFSET,	(2*4)	   # R2 Stack Offset
.equ	R3_OFFSET,	   (3*4)	   # R3 Stack Offset
.equ	R4_OFFSET,	   (4*4)	   # R4 Stack Offset
.equ	R5_OFFSET,	   (5*4)	   # R5 Stack Offset
.equ	R6_OFFSET,	   (6*4)	   # R6 Stack Offset
.equ	R7_OFFSET,	   (7*4)	   # R7 Stack Offset
.equ	R8_OFFSET,	   (8*4)	   # R8 Stack Offset
.equ	R9_OFFSET,	   (9*4)	   # R9 Stack Offset
.equ	R10_OFFSET,	   (10*4)	# R10 Stack Offset
.equ	R11_OFFSET,	   (11*4)	# R11 Stack Offset
.equ	R12_OFFSET,	   (12*4)	# R12 Stack Offset
.equ	SRR0_OFFSET,	(13*4)	# SRR0 Stack Offset
.equ	SRR1_OFFSET,	(14*4)	# SRR1 Stack Offset
.equ	LR_OFFSET,	   (15*4)	# LR Stack Offset
.equ	CTR_OFFSET,	   (16*4)	# CTR Stack Offset
.equ	XER_OFFSET,	   (17*4)	# XER Stack Offset
.equ	CR_OFFSET,	   (18*4)	# CR Stack Offset
.equ	STACK_SZ,	   (20*4)   # Quad-Word Aligned Interrupt Stack Frame
.equ	C_FRAME_SZ,	   (4*4)    # Quad-Word Aligned C Frame Size

#-------------------------------------------------
# Special Purpose Register Indices for SRR0, SRR1
#-------------------------------------------------

.equ    SRR0,		(26)	# SRR0 Special Purpose Register Index
.equ    SRR1,		(27)	# SRR1 Special Purpose Register Index

#*****************************************************************************
# This is the external interrupts vector table entry for the MPC8xx.
# This code is setup for handling non-reentrant external interrupts.
#
# The following are the steps, in order, taken by the External Interrupt
# Table Code:
# 1) Save following Registers:  gpr0, gpr3-gpr12, CR, XER, LR, CTR
#    on stack as necessary to preserve user state across the interrupt
#    handler.  Save SRR0, SRR1 to provide breakpoint/debug support for
#    Interrupt Code.
# 2) The exception vector (0x500) is saved in register r3.
# 3) Absolute Branch and Link to C routine to complete interrupt processing.
# 4) Restore Registers in (1) from stack.
# 5) Execute rfi instruction to return from supervisor-state interrupt handler.
#*****************************************************************************

.text
ExtIntTable:

#-----------------------------------------------------
# Save USER State
#-----------------------------------------------------

#-----------------------------------------------------
# Save r0 -- Volatile Register
# Update SP (r1) (Allocate Interrupt STACK frame)
#-----------------------------------------------------

stwu	%r0, -STACK_SZ+R0_OFFSET(%r1)

#---------------------------------------------------------------
# Save SRR0, SRR1
# NOTE:  DO NOT Trace or Set Breakpoint Before SRR0, SRR1 Saved
#---------------------------------------------------------------

mfspr	%r0, SRR0
stw	%r0, SRR0_OFFSET(%r1)
mfspr	%r0, SRR1
stw	%r0, SRR1_OFFSET(%r1)

#--------------------------------------------
# Save r3-r12 -- Volatile Registers
#--------------------------------------------

stw	%r3,  R3_OFFSET(%r1)    # Store r3
stw	%r4,  R4_OFFSET(%r1)    # Store r4
stw	%r5,  R5_OFFSET(%r1)    # Store r5
stw	%r6,  R6_OFFSET(%r1)    # Store r6
stw	%r7,  R7_OFFSET(%r1)    # Store r7
stw	%r8,  R8_OFFSET(%r1)    # Store r8
stw	%r9,  R9_OFFSET(%r1)    # Store r9
stw	%r10, R10_OFFSET(%r1)   # Store r10
stw	%r11, R11_OFFSET(%r1)   # Store r11
stw	%r12, R12_OFFSET(%r1)   # Store r12

#----------------
# Store LR
#----------------

mflr	%r0
stw	%r0, LR_OFFSET(%r1)

#----------------
# Save CTR
#----------------

mfctr   %r0
stw	%r0, CTR_OFFSET(%r1)

#----------------
# Save XER
#----------------

mfxer   %r0
stw	%r0, XER_OFFSET(%r1)

#----------------
# Save CR
#----------------

mfcr	%r0
stw	%r0, CR_OFFSET(%r1)

#----------------------------------
# Allocate C FRAME (1-Quad Word)
#----------------------------------

subi	%r1,%r1,C_FRAME_SZ

#----------------------------------------------------
# Place External Interrupt Vector in r3
#----------------------------------------------------

addi	%r3,%r0,EXTERNAL_INTERRUPT_VECTOR

#----------------------------------------------------
# Execute external interrupt handler
#----------------------------------------------------

bla ExtIntHandler

#----------------------------------------------------
# Restore USER State
#----------------------------------------------------

#----------------------------------------------------
# Deallocate C FRAME (1-Quad Word)
#----------------------------------------------------

addi	%r1,%r1,C_FRAME_SZ

#--------------
# Restore CR
#--------------

lwz	%r0, CR_OFFSET(%r1)
mtcrf	0xff,%r0

#--------------
# Restore XER
#--------------

lwz	%r0, XER_OFFSET(%r1)
mtxer   %r0

#--------------
# Restore CTR
#--------------

lwz	%r0, CTR_OFFSET(%r1)
mtctr   %r0

#-------------
# Restore LR
#-------------

lwz	%r0, LR_OFFSET(%r1)
mtlr	%r0

#--------------------------------------
# Restore r12-r3 -- Volatile Registers
#--------------------------------------

lwz	%r12, R12_OFFSET(%r1)   # Store r12
lwz	%r11, R11_OFFSET(%r1)   # Store r11
lwz	%r10, R10_OFFSET(%r1)   # Store r10
lwz	%r9,  R9_OFFSET(%r1)    # Store r9
lwz	%r8,  R8_OFFSET(%r1)    # Store r8
lwz	%r7,  R7_OFFSET(%r1)    # Store r7
lwz	%r6,  R6_OFFSET(%r1)    # Store r6
lwz	%r5,  R5_OFFSET(%r1)    # Store r5
lwz	%r4,  R4_OFFSET(%r1)    # Store r4
lwz	%r3,  R3_OFFSET(%r1)    # Store r3

#-----------------------------------------------------------------
# Save SRR1, SRR0
# NOTE:  DO NOT Trace or Set Breakpoint After SRR1, SRR0 Restored
#-----------------------------------------------------------------

lwz	%r0, SRR1_OFFSET(%r1)
mtspr	SRR1, %r0

lwz	%r0, SRR0_OFFSET(%r1)
mtspr	SRR0, %r0

#---------------------------------------------------
# Restore r0 -- Volatile Register
# Update SP (r1) (Deallocate Interrupt STACK frame)
#---------------------------------------------------

lwz	%r0, R0_OFFSET(%r1)
addi	%r1, %r1, STACK_SZ        

# ----------------------------------------------------
# Return from interrupt handler in supervisor state to user code
# ----------------------------------------------------

rfi

.word 64   # pad space


?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美精品色综合| 久久久99久久| 国产91清纯白嫩初高中在线观看| 亚洲精品视频在线观看网站| 日韩欧美国产一区二区在线播放 | 另类小说色综合网站| 国产精品伦一区| 日韩欧美黄色影院| 欧美三级午夜理伦三级中视频| 国产精品羞羞答答xxdd| 日韩1区2区日韩1区2区| 亚洲人成人一区二区在线观看| 精品国产1区二区| 欧美日韩另类一区| 91福利资源站| jizzjizzjizz欧美| 国产高清在线观看免费不卡| 麻豆精品精品国产自在97香蕉 | 亚洲激情第一区| 久久精品视频一区二区三区| 日韩三级电影网址| 欧美三级电影在线看| 一本色道久久综合狠狠躁的推荐| 国产福利91精品| 国产高清精品网站| 狠狠色丁香婷婷综合| 老司机免费视频一区二区| 日韩电影在线观看网站| 午夜精品久久久久久久99樱桃| 亚洲精品乱码久久久久久黑人| 中文字幕一区二区在线观看| 国产欧美一区二区精品忘忧草| 久久综合色一综合色88| 日韩欧美国产电影| 日韩午夜电影av| 日韩精品一区二区三区在线播放 | 日韩欧美高清一区| 91精品国产美女浴室洗澡无遮挡| 欧美日韩亚洲综合在线 | 精品一区二区三区在线播放| 青青青伊人色综合久久| 免费欧美日韩国产三级电影| 美女一区二区三区在线观看| 久久成人免费网站| 国产一区高清在线| 国产一区二区伦理片| 国产精品99久久不卡二区| 国产一区美女在线| 成人视屏免费看| 一本在线高清不卡dvd| 欧洲在线/亚洲| 911精品国产一区二区在线| 91精品久久久久久蜜臀| 欧美一级片在线看| 2021中文字幕一区亚洲| 国产日韩欧美综合在线| 中文字幕一区二区日韩精品绯色| 亚洲黄色免费网站| 日韩主播视频在线| 黑人巨大精品欧美黑白配亚洲| 东方欧美亚洲色图在线| 色爱区综合激月婷婷| 91麻豆精品国产91久久久久| 久久久久久久久久久久久久久99 | 欧美狂野另类xxxxoooo| 欧美一区二区三区性视频| 久久人人爽爽爽人久久久| 国产精品久久久久婷婷二区次| 亚洲午夜视频在线| 极品美女销魂一区二区三区| 99精品久久久久久| 欧美一级专区免费大片| 国产精品视频看| 午夜精品在线看| 国产91在线观看| 91原创在线视频| 欧美一级二级三级乱码| |精品福利一区二区三区| 日本成人在线视频网站| 成人免费视频国产在线观看| 欧美视频在线一区二区三区 | 成人免费高清视频在线观看| 在线观看免费成人| 2020国产精品久久精品美国| 亚洲日本青草视频在线怡红院| 亚洲成人第一页| 国产黄色91视频| 欧美肥妇毛茸茸| 亚洲欧洲色图综合| 美女视频免费一区| 日本高清视频一区二区| 久久精品在线观看| 天天影视涩香欲综合网| 97精品电影院| 2欧美一区二区三区在线观看视频| 亚洲精品水蜜桃| 国产乱妇无码大片在线观看| 欧美剧情电影在线观看完整版免费励志电影 | 色综合久久综合| 亚洲精品一区二区三区影院| 亚洲一区二区av电影| 国产高清精品久久久久| 欧美一二三在线| 亚洲免费在线观看| 国产精品一区二区三区乱码| 91精品国产综合久久香蕉的特点| 亚洲美女视频一区| 成人一区二区视频| 日韩欧美国产精品| 婷婷丁香久久五月婷婷| 91久久免费观看| 国产精品麻豆视频| 国产成人激情av| www欧美成人18+| 久久www免费人成看片高清| 欧美精品第1页| 亚洲6080在线| 欧美色网一区二区| 一区二区高清在线| 一本一道波多野结衣一区二区| 中文字幕成人av| 国产剧情一区二区| www成人在线观看| 久久av中文字幕片| 欧美一区二区三区婷婷月色| 亚洲一卡二卡三卡四卡| 色欧美片视频在线观看在线视频| 国产精品私房写真福利视频| 国产成人高清视频| 国产日产亚洲精品系列| 国产在线日韩欧美| 精品日产卡一卡二卡麻豆| 免费久久99精品国产| 欧美一级生活片| 久久精品国产在热久久| 欧美大白屁股肥臀xxxxxx| 奇米在线7777在线精品| 欧美r级电影在线观看| 韩国成人精品a∨在线观看| 久久先锋资源网| 国产aⅴ精品一区二区三区色成熟| 中文一区二区在线观看 | 欧美一级淫片007| 日本网站在线观看一区二区三区| 欧美精品欧美精品系列| 日韩av一区二| 精品国产伦一区二区三区免费| 国产美女一区二区| 中文幕一区二区三区久久蜜桃| 成人激情黄色小说| 亚洲激情图片小说视频| 欧美巨大另类极品videosbest| 美国十次了思思久久精品导航| 337p粉嫩大胆噜噜噜噜噜91av| 成人一级片在线观看| 亚洲免费在线看| 91精品婷婷国产综合久久性色 | 国产欧美日韩精品一区| 91在线视频免费91| 婷婷综合久久一区二区三区| 精品久久五月天| av一本久道久久综合久久鬼色| 亚洲一区二区四区蜜桃| 欧美一区二区视频在线观看2022| 精品一区二区三区影院在线午夜| 中文字幕av一区二区三区免费看| 色播五月激情综合网| 久久国产精品一区二区| 中文字幕一区av| 91精品在线麻豆| 大桥未久av一区二区三区中文| 一区二区三区在线免费观看 | 一区二区三区在线视频免费| 91麻豆精品国产91久久久| 丁香五精品蜜臀久久久久99网站| 亚洲图片激情小说| 欧美一区二区三区四区高清| 国产黄色精品网站| 亚洲v日本v欧美v久久精品| 久久久久久日产精品| 欧美亚洲国产怡红院影院| 狠狠色丁香婷婷综合| 一区二区三区高清| 久久久久久久久一| 欧美福利视频导航| 成人av综合在线| 捆绑调教一区二区三区| 亚洲精品亚洲人成人网在线播放| 精品国产123| 欧美视频中文字幕| voyeur盗摄精品| 国产毛片精品视频| 亚洲福利一区二区| 国产精品视频yy9299一区| 日韩亚洲欧美在线观看| 在线免费不卡视频| 成人黄色软件下载| 韩国av一区二区三区四区| 天天做天天摸天天爽国产一区| 亚洲欧美一区二区视频|