📄 int.s
字号:
;/*************************************************************************/
;/* */
;/* Copyright (c) 1993-1999 Accelerated Technology, Inc. */
;/* */
;/* PROPRIETARY RIGHTS of Accelerated Technology are involved in the */
;/* subject matter of this material. All manufacturing, reproduction, */
;/* use, and sales rights pertaining to this subject matter are governed */
;/* by the license agreement. The recipient of this software implicitly */
;/* accepts the terms of the license. */
;/* */
;/*************************************************************************/
;
;/*************************************************************************/
;/* */
;/* FILE NAME VERSION */
;/* */
;/* int.s PLUS/68328/1.11.3 */
;/* */
;/* COMPONENT */
;/* */
;/* IN - Initialization */
;/* */
;/* DESCRIPTION */
;/* */
;/* This file contains the target processor dependent initialization */
;/* routines and data. */
;/* */
;/* AUTHOR */
;/* */
;/* G. D. Fender, Accelerated Technology, Inc. */
;/* */
;/* DATA STRUCTURES */
;/* */
;/* INT_Vectors Interrupt vector table */
;/* */
;/* FUNCTIONS */
;/* */
;/* INT_Initialize Target initialization */
;/* INT_Vectors_Loaded Returns a NU_TRUE if all the */
;/* default vectors are loaded */
;/* INT_Setup_Vector Sets up an actual vector */
;/* */
;/* DEPENDENCIES */
;/* */
;/* nucleus.h System constants */
;/* */
;/* HISTORY */
;/* */
;/* NAME DATE REMARKS */
;/* */
;/* G. Fender 09-21-1998 Created initial version 1.0 */
;/* for 68328ADS port. */
;/* K. Pontzloff 03-12-1999 Renamed sections, changed the */
;/* interrupt register mask, */
;/* changed some BRA's to JMP's */
;/* D. Sharer 11-29-1999 Updated to support latest tools. */
;/* */
;/*************************************************************************/
NAME "int.s"
;#define NU_SOURCE_FILE
;
;#include "nucleus.h" /* System constants */
;
;
;/* Define the global system stack variable. This is setup by the
; initialization routine. */
;
;extern VOID *TCD_System_Stack;
;
.xref _TCD_System_Stack
;
;
;/* Define the global data structures that need to be initialized by this
; routine. These structures are used to define the system timer management
; HISR. */
;
;extern VOID *TMD_HISR_Stack_Ptr;
;extern UNSIGNED TMD_HISR_Stack_Size;
;extern INT TMD_HISR_Priority;
;
.xref _TMD_HISR_Stack_Ptr
.xref _TMD_HISR_Stack_Size
.xref _TMD_HISR_Priority
;
;
;/* Define extern function references. */
;
;VOID INC_Initialize(VOID *first_available_memory);
;VOID TCT_Interrupt_Context_Save(VOID);
;VOID TCT_Interrupt_Context_Restore(VOID);
;VOID TCC_Dispatch_LISR(INT vector_number);
;VOID TMT_Timer_Interrupt(VOID);
;
.xref _INC_Initialize
.xref _TCT_Interrupt_Context_Save
.xref _TCT_Interrupt_Context_Restore
.xref _TCC_Dispatch_LISR
.xref _TMT_Timer_Interrupt
;
;
;/* Define the initialization flag that indicates whether or not all of the
; default vectors have been loaded during initialization. */
;
;INT INT_Loaded_Flag;
;
.data
.xdef _INT_Loaded_Flag
_INT_Loaded_Flag .align 2
.skip 4
;
;/* Define the sizes for the system stack and the timer management stack. */
;
SYS_STACK .equ 2*1024 ; Size of system stack
HISR_STACK .equ 512 ; Size of Timer HISR stack
;
; Address locations assigned for the M68328 ADS hardware platform.
*****************************************************************************/
;/* Define the sections that allocate space for the system stack and possibly
; the heap. Also, define a section that is used to identify where the
; available system memory starts. */
;
; .section stack,,d
; .xdef _stack_area
;_stack_area .align 4
; .skip SYS_STACK
;
; .section stack_top,,d
; .xdef _stack_top
;_stack_top .align 4
; .skip 4
.section sys_memory,,d
.xdef _sys_memory
_sys_memory .align 4
.skip 4
;
;
;/* Define the interrupt vector table for the 68xxx family. Note that this
; vector table (or a copy of it) resides at address 0. In situations
; where co-existence with a target monitor is required, this vector table
; is typically not completely loaded. The template interrupt vectors are
; defined at the bottom of this file. */
;
.section .vectors,,c
.xdef _INT_Vectors
_INT_Vectors:
.long STKTOP-4 ; Initial stack value 0
.long 0 ; unused 1
.long _INT_Bus_Error ; Bus Error 2
.long _INT_Address_Error ; Address Error 3
.long _INT_Illegal_Instruction ; Illegal Instruction 4
.long _INT_Zero_Divide ; Divide by zero 5
.long _INT_Chk_Chk2 ; CHK and CHK2 instructions 6
.long _INT_TrapV ; TRAPV instruction 7
.long _INT_Privilege ; Privilege violation 8
.long _INT_Trace ; Trace 9
.long _INT_Emul_A ; Emulate A 10
.long _INT_Emul_B ; Emulate B 11
.long _INT_Hdw_Breakpoint ; Hardware breakpoint 12
.long _INT_Coprocessor_Violate ; Coprocessor violation 13
.long _INT_Format_Error ; Format error 14
.long _INT_Uninitialized_Int ; Uninitialized interrupt 15
.long _INT_Reserved_0 ; Reserved 0 16
.long _INT_Reserved_1 ; Reserved 1 17
.long _INT_Reserved_2 ; Reserved 2 18
.long _INT_Reserved_3 ; Reserved 3 19
.long _INT_Reserved_4 ; Reserved 4 20
.long _INT_Reserved_5 ; Reserved 5 21
.long _INT_Reserved_6 ; Reserved 6 22
.long _INT_Reserved_7 ; Reserved 7 23
.long _INT_Spurious ; Spurious interrupt 24
.long _INT_Level_1_Auto ; Level 1 Autovector 25
.long _INT_Level_2_Auto ; Level 2 Autovector 26
.long _INT_Level_3_Auto ; Level 3 Autovector 27
.long _INT_Level_4_Auto ; Level 4 Autovector 28
.long _INT_Level_5_Auto ; Level 5 Autovector 29
.long _INT_Level_6_Auto ; Level 6 Autovector 30
.long _INT_Level_7_Auto ; Level 7 Autovector 31
.long _INT_Trap_0 ; Trap 0 32
.long _INT_Trap_1 ; Trap 1 33
.long _INT_Trap_2 ; Trap 2 34
.long _INT_Trap_3 ; Trap 3 35
.long _INT_Trap_4 ; Trap 4 36
.long _INT_Trap_5 ; Trap 5 37
.long _INT_Trap_6 ; Trap 6 38
.long _INT_Trap_7 ; Trap 7 39
.long _INT_Trap_8 ; Trap 8 40
.long _INT_Trap_9 ; Trap 9 41
.long _INT_Trap_10 ; Trap 10 42
.long _INT_Trap_11 ; Trap 11 43
.long _INT_Trap_12 ; Trap 12 44
.long _INT_Trap_13 ; Trap 13 45
.long _INT_Trap_14 ; Trap 14 46
.long _INT_Trap_15 ; Trap 15 47
.long _INT_Cop_Reserved_0 ; Coprocessor Reserved 0 48
.long _INT_Cop_Reserved_1 ; Coprocessor Reserved 1 49
.long _INT_Cop_Reserved_2 ; Coprocessor Reserved 2 50
.long _INT_Cop_Reserved_3 ; Coprocessor Reserved 3 51
.long _INT_Cop_Reserved_4 ; Coprocessor Reserved 4 52
.long _INT_Cop_Reserved_5 ; Coprocessor Reserved 5 53
.long _INT_Cop_Reserved_6 ; Coprocessor Reserved 6 54
.long _INT_Cop_Reserved_7 ; Coprocessor Reserved 7 55
.long _INT_Cop_Reserved_8 ; Coprocessor Reserved 8 56
.long _INT_Cop_Reserved_9 ; Coprocessor Reserved 9 57
.long _INT_Cop_Reserved_10 ; Coprocessor Reserved 10 58
.long _INT_Reserved_8 ; Reserved 8 59
.long _INT_Reserved_9 ; Reserved 9 60
.long _INT_Reserved_10 ; Reserved 10 61
.long _INT_Reserved_11 ; Reserved 11 62
.long _INT_Reserved_12 ; Reserved 12 63
.long _INT_User_0 ; User Interrupt 0 64
.long _INT_User_1 ; User Interrupt 1 65
.long _INT_User_2 ; User Interrupt 2 66
.long _INT_User_3 ; User Interrupt 3 67
.long _INT_User_4 ; User Interrupt 4 68
.long _INT_User_5 ; User Interrupt 5 69
.long _INT_User_6 ; User Interrupt 6 70
.long _INT_User_7 ; User Interrupt 7 71
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -