📄 ind.s
字号:
STOP #$2700 ; Stop with interrupt lockout
;
IND_Privilege: ; Privilege Violation 8
;
MOVE.L #8,D0 ; Put vector number in
STOP #$2700 ; Stop with interrupt lockout
;
IND_Trace: ; Trace 9
;
MOVE.L #9,D0 ; Put vector number in
STOP #$2700 ; Stop with interrupt lockout
;
IND_Emul_A: ; Emulate A 10
;
MOVE.L #10,D0 ; Put vector number in
STOP #$2700 ; Stop with interrupt lockout
;
IND_Emul_B: ; Emulate B 11
;
MOVE.L #11,D0 ; Put vector number in
STOP #$2700 ; Stop with interrupt lockout
;
IND_Hdw_Breakpoint: ; Hardware Breakpoint 12
;
MOVE.L #12,D0 ; Put vector number in
STOP #$2700 ; Stop with interrupt lockout
;
IND_Coprocessor_Violate: ; Coprocessor Violation 13
;
MOVE.L #13,D0 ; Put vector number in
STOP #$2700 ; Stop with interrupt lockout
;
IND_Format_Error: ; Format Error 14
;
MOVE.L #14,D0 ; Put vector number in
STOP #$2700 ; Stop with interrupt lockout
;
IND_Uninitialized_Int: ; Uninitialize Interrupt 15
;
MOVE.L #15,D0 ; Put vector number in
STOP #$2700 ; Stop with interrupt lockout
;
IND_Spurious: ; Spurious Interrupt 24
;
MOVE.L #24,D0 ; Put vector number in
STOP #$2700 ; Stop with interrupt lockout
;
IND_Level_1_Auto: ; Level 1 Autovector 25
;
BSR SKD_Interrupt_Context_Save ; Save current context
BSR CLD_Timer_Interrupt ; Call timer interrupt routine
JMP SKD_Interrupt_Context_Restore ; Restore context
STOP #25 ; Stop with the vector number
MOVE.L #25,D0 ; Put vector number in
STOP #$2700 ; Stop with interrupt lockout
;
IND_Level_2_Auto: ; Level 2 Autovector 26
;
MOVE.L #26,D0 ; Put vector number in
STOP #$2700 ; Stop with interrupt lockout
;
IND_Level_3_Auto: ; Level 3 Autovector 27
;
MOVE.L #27,D0 ; Put vector number in
STOP #$2700 ; Stop with interrupt lockout
;
IND_Level_4_Auto: ; Level 4 Autovector 28
;
MOVE.L #28,D0 ; Put vector number in
STOP #$2700 ; Stop with interrupt lockout
;
IND_Level_5_Auto: ; Level 5 Autovector 29
;
MOVE.L #29,D0 ; Put vector number in
STOP #$2700 ; Stop with interrupt lockout
;
IND_Level_6_Auto: ; Level 6 Autovector 30
;
MOVE.L #30,D0 ; Put vector number in
STOP #$2700 ; Stop with interrupt lockout
;
IND_Level_7_Auto: ; Level 7 Autovector 31
;
MOVE.L #31,D0 ; Put vector number in
STOP #$2700 ; Stop with interrupt lockout
;
IND_Trap_0: ; Trap 0 32
;
MOVE.L #32,D0 ; Put vector number in
STOP #$2700 ; Stop with interrupt lockout
;
IND_Trap_1: ; Trap 1 33
;
MOVE.L #33,D0 ; Put vector number in
STOP #$2700 ; Stop with interrupt lockout
;
IND_Trap_2: ; Trap 2 34
;
MOVE.L #34,D0 ; Put vector number in
STOP #$2700 ; Stop with interrupt lockout
;
IND_Trap_3: ; Trap 3 35
;
MOVE.L #35,D0 ; Put vector number in
STOP #$2700 ; Stop with interrupt lockout
;
IND_Trap_4: ; Trap 4 36
;
MOVE.L #36,D0 ; Put vector number in
STOP #$2700 ; Stop with interrupt lockout
;
IND_Trap_5: ; Trap 5 37
;
MOVE.L #37,D0 ; Put vector number in
STOP #$2700 ; Stop with interrupt lockout
;
IND_Trap_6: ; Trap 6 38
;
MOVE.L #38,D0 ; Put vector number in
STOP #$2700 ; Stop with interrupt lockout
;
IND_Trap_7: ; Trap 7 39
;
MOVE.L #39,D0 ; Put vector number in
STOP #$2700 ; Stop with interrupt lockout
;
IND_Trap_8: ; Trap 8 40
;
MOVE.L #40,D0 ; Put vector number in
STOP #$2700 ; Stop with interrupt lockout
;
IND_Trap_9: ; Trap 9 41
;
MOVE.L #41,D0 ; Put vector number in
STOP #$2700 ; Stop with interrupt lockout
;
IND_Trap_10: ; Trap 10 42
;
MOVE.L #42,D0 ; Put vector number in
STOP #$2700 ; Stop with interrupt lockout
;
IND_Trap_11: ; Trap 11 43
;
MOVE.L #43,D0 ; Put vector number in
STOP #$2700 ; Stop with interrupt lockout
;
IND_Trap_12: ; Trap 12 44
;
MOVE.L #44,D0 ; Put vector number in
STOP #$2700 ; Stop with interrupt lockout
;
IND_Trap_13: ; Trap 13 45
;
MOVE.L #45,D0 ; Put vector number in
STOP #$2700 ; Stop with interrupt lockout
;
IND_Trap_14: ; Trap 14 46
;
MOVE.L #46,D0 ; Put vector number in
STOP #$2700 ; Stop with interrupt lockout
;
IND_Trap_15: ; Trap 15 47
;
MOVE.L #47,D0 ; Put vector number in
STOP #$2700 ; Stop with interrupt lockout
;
IND_Copr_Reserved: ; Coprocessor Reserved 48-58
;
MOVE.L #48,D0 ; Put vector number in
STOP #$2700 ; Stop with interrupt lockout
;
IND_Reserved: ; Reserved Interrupts 16-23,59-63
;
MOVE.L #16,D0 ; Put vector number in
STOP #$2700 ; Stop with interrupt lockout
;
IND_User: ; User Interrupts 64-255
;
MOVE.L #64,D0 ; Put vector number in
STOP #$2700 ; Stop with interrupt lockout
;
;
;} /* End of IND_Initialize */
;
;
;/************************************************************************/
;/* */
;/* FUNCTION "IND_Set_Interrupt_Level" */
;/* */
;/* */
;/* DESCRIPTION */
;/* */
;/* This function is used to enable or disable interrupts based on */
;/* the input parameter. The current interrupt value is returned */
;/* in order to preserve nested disabling of interrupts. */
;/* */
;/* AUTHOR */
;/* */
;/* William E. Lamie, Accelerated Technology */
;/* */
;/* CALLED FROM */
;/* */
;/* Anywhere interrupts need to be enabled or disabled */
;/* */
;/* ROUTINES CALLED */
;/* */
;/* None */
;/* */
;/* INPUTS */
;/* */
;/* enable_interrupts Enable interrupt flag */
;/* */
;/* OUTPUTS */
;/* */
;/* interrupts_enabled Interrupt status prior to */
;/* the call */
;/* */
;/************************************************************************/
;int IND_Set_Interrupt_Level(interrupts_enabled)
;
;unsigned int interrupts_enabled;
export IND_Set_Interrupt_Level
IND_Set_Interrupt_Level
;{
;
; /* Pick up the value off of the stack. */
;
MOVE SR,D0 ; Return the old interrupt status
MOVE 6(A7),SR ; Set the new interrupt lockout value
; /* Fix for version 3.07 and later of the INTROL compiler
; * Return and pop parameters off stack
; */
; RTD #$4
RTS
;
;}
;
;
;/************************************************************************/
;/* */
;/* FUNCTION "IND_Major_System_Error" */
;/* */
;/* */
;/* DESCRIPTION */
;/* */
;/* This function is used to execute some kind of a processor halt */
;/* on serious nucleus system errors. */
;/* */
;/* AUTHOR */
;/* */
;/* William E. Lamie, Accelerated Technology */
;/* */
;/* CALLED FROM */
;/* */
;/* Anywhere in nucleus */
;/* */
;/* ROUTINES CALLED */
;/* */
;/* None */
;/* */
;/* INPUTS */
;/* */
;/* None */
;/* */
;/* OUTPUTS */
;/* */
;/* None */
;/* */
;/************************************************************************/
;void IND_Major_System_Error(error_code)
;{
export IND_Major_System_Error
IND_Major_System_Error
BRA IND_Major_System_Error
STOP #$2700 ; Unconditional Stop
;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -