📄 sysconst.inc
字号:
;============================================================================;
; Project : Hyperstone Realtime Kernel HYRTK ;
; ;
; Module : SYSCONST.INC ;
; ;
; Description: This module contains the global constants ;
; ;
; Copyright : hyperstone electronics GmbH ;
; Am Seerhein 8 ;
; D-78467 Konstanz, Germany ;
; ;
; Date : October 10, 1996 ;
;============================================================================;
;----------------------------------------------------------------------------;
; Status-Register Flags ;
;----------------------------------------------------------------------------;
CFLAG EQU 1 ; Carry-Flag
ZFLAG EQU 1 << 1 ; Zero-Flag
NFLAG EQU 1 << 2 ; Negative-Flag
VFLAG EQU 1 << 3 ; Overflow-Flag
MFLAG EQU 1 << 4 ; Cache-Mode-Flag
HFLAG EQU 1 << 5 ; High-Global-Flag
LFLAG EQU 1 << 15 ; Interrupt-Lock-Flag
TFLAG EQU 1 << 16 ; Trace-Mode-Flag
PFLAG EQU 1 << 17 ; Trace-Pending-Flag
SFLAG EQU 1 << 18 ; Supervisor-State-Flag
TaskLevelFlag EQU 1 << 7 ; 0=SLT, 1=ILT
;----------------------------------------------------------------------------;
; Kernel-Flags (global register G2) ;
;----------------------------------------------------------------------------;
BFLAG EQU 1 << 5 ; Indicates BP re-insert undone
KFLAG EQU 1 << 6 ; Return frame is Kernel frame
IFLAG EQU 1 << 7 ; Return frame is TimeInsert frame
FirstUndoneFlag EQU 1 << 13 ; Indicates first element in
; UndoneList changed during
; TimeInsert
TPFLAG EQU 1 << 14 ; Indicates that current task is
; already pushed onto stack
;----------------------------------------------------------------------------;
; FCR-Bits ;
;----------------------------------------------------------------------------;
TimerEnableBit EQU 1 << 23 ; Enables Timer-Interrupt
;----------------------------------------------------------------------------;
; System-Traps ;
;----------------------------------------------------------------------------;
ResetTrap EQU 62
DataPageFaultTrap EQU 61
RangeErrorTrap EQU 60
TraceExceptionTrap EQU 57
InstructPageFaultTrap EQU 56
PassiveBreakPointTrap EQU 16
LowestUserTrap EQU 17
HighestUserTrap EQU 22
;----------------------------------------------------------------------------;
; Maximum Index for indirect Trap-Calls ;
;----------------------------------------------------------------------------;
MAXFUNCTIONINDEX EQU 212
;----------------------------------------------------------------------------;
; Stack-Reserve ;
;----------------------------------------------------------------------------;
STACKRESERVETOP EQU 100 * 4
STACKRESERVEBOTTOM EQU 8 * 4
STACKRESERVE EQU STACKRESERVETOP + STACKRESERVEBOTTOM
UBRESERVE EQU 64 * 4
STACKADDON EQU 32 * 4
;----------------------------------------------------------------------------;
; Values for "GlobalFlags" ;
;----------------------------------------------------------------------------;
ALLTASKSSTOPPED EQU 1
;----------------------------------------------------------------------------;
; Task States ;
;----------------------------------------------------------------------------;
TERMINATED EQU 1
DELAYED EQU 2
WAITING EQU 3
SCHEDULED EQU 4
;----------------------------------------------------------------------------;
; Task Debug States ;
;----------------------------------------------------------------------------;
RUNNING EQU 0
STOPPED EQU 1
;----------------------------------------------------------------------------;
; Wait-Flag Values ;
;----------------------------------------------------------------------------;
NOTIMEOUT EQU 0
TIMEOUT EQU 1
UNLINKED EQU 2
;----------------------------------------------------------------------------;
; SysTask-Priority and Stack-Size ;
;----------------------------------------------------------------------------;
SYSTASKPRIORITY EQU 0
SYSTASKSTACKSIZE EQU 256
;----------------------------------------------------------------------------;
; Message-CommandCodes (PC -> HyperStone) ;
;----------------------------------------------------------------------------;
MAXCOMMANDS EQU 28
GETBAUDRATE EQU 1
SETBAUDRATE EQU 2
WRITEMEMORY EQU 3
WRITEREGISTER EQU 4
WRITEIO EQU 5
WRITEZEROS EQU 6
READMEMORY EQU 7
READREGISTER EQU 8
READIO EQU 9
READTCBS EQU 10
STARTSYSTEM EQU 11
STARTUSER EQU 12
RUNTASK EQU 13
STOPTASK EQU 14
STEPINTO EQU 15
STEPOVER EQU 16
SKIPWAIT EQU 17
SETBREAKPOINT EQU 18
CLEARBREAKPOINT EQU 19
SETTIME EQU 20
GETTIME EQU 21
READBREAKDATA EQU 22
RUNWITHPROFILER EQU 23
LOADUSER EQU 24
PCREMOTEPROCCALL EQU 25
RPCTRAILER EQU 26
RPCWRITEMEMORY EQU 27
RPCREADMEMORY EQU 28
;----------------------------------------------------------------------------;
; Message-CommandCodes (HyperStone -> PC) ;
;----------------------------------------------------------------------------;
TASKTERMINATED EQU 129
TASKSTOPPED EQU 130
EXEERROR EQU 131
BREAKDATA EQU 132
REMOTEPROCCALL EQU 133
PROGEXIT EQU 134
TASKCREATED EQU 135
PROFILEDATA EQU 136
RPCSENDDATA EQU 137
RPCRECEIVEDATA EQU 138
;----------------------------------------------------------------------------;
; SysSendFlag and SysReceiveFlag Values ;
;----------------------------------------------------------------------------;
NotActive EQU $00
InProgress EQU $01
CommandInProgress EQU $02
CommandDoneCorrect EQU $04
CommandDoneFalse EQU $08
ResponseInProgress EQU $20
ResponseDoneCorrect EQU $40
ResponseDoneFalse EQU $80
DoneCorrect EQU $02
DoneFalse EQU $04
;----------------------------------------------------------------------------;
; SysReadyFlag Values ;
;----------------------------------------------------------------------------;
PCNotConnected EQU 0
PCConnected EQU 1
;----------------------------------------------------------------------------;
; SysTask-Flags ;
;----------------------------------------------------------------------------;
AwaitingResponse EQU 1
SendMessagePending EQU 1 << 1
SendResponsePending EQU 1 << 2
ProfDataSent EQU 1 << 3
;----------------------------------------------------------------------------;
; Debug-Flags ;
;----------------------------------------------------------------------------;
SingleStepFlag EQU 1
StepOverFlag EQU 1 << 1
ActiveBPStopFlag EQU 1 << 2
;----------------------------------------------------------------------------;
; BreakPointTable (Offsets for each entry) ;
;----------------------------------------------------------------------------;
TRAPOPCODE EQU $FF03
PASSIVEBREAKPOINT EQU TRAPOPCODE | PassiveBreakPointTrap * 4
BPENTRYSIZE EQU 8
BPAddress EQU 0 ; BreakPoint-Address
BPTrapCode EQU 4 ; BreakPoint-TrapCode
BPOpCode EQU 6 ; Original OpCode
;----------------------------------------------------------------------------;
; Buffer and Table-Sizes (in Bytes) ;
;----------------------------------------------------------------------------;
HEADERLENGTH EQU 12
TRAILINGDATASIZE EQU 256
COMRESERVE EQU 32
MAXSYSCOMMANDS EQU 128
SYSBUFFERSIZE EQU MAXSYSCOMMANDS * HEADERLENGTH
RPCBUFFERSIZE EQU 256
MAXBREAKPOINTS EQU 256
BREAKPOINTTABLESIZE EQU MAXBREAKPOINTS * BPENTRYSIZE
ACTIVEBREAKTABLESIZE EQU 16 * BPENTRYSIZE
BREAKVARARRAYSIZE EQU 16 * 4
BREAKVARSIZE EQU 16 * 4
BREAKCODEBUFFERSIZE EQU 512
PROFDATASIZESMALL EQU 4 * 64
PROFDATASIZELARGE EQU 15 * 64
;----------------------------------------------------------------------------;
; Task Control Block (Offsets) ;
;----------------------------------------------------------------------------;
NextTaskPtr EQU 0 ; Ptr to next TCB (List of all TCBs)
LastTaskPtr EQU 4 ; Ptr to last TCB (List of all TCBs)
NextTimePtr EQU 8 ; Ptr to next TCB (timer linked list)
LastTimePtr EQU 12 ; Ptr to last TCB (timer linked list)
EventTime EQU 16 ; Event Time
EventTimeLow EQU 20 ; Event Time (lower word)
TimeEventPtr EQU 24 ; Ptr to program entry at time event
TaskLevel EQU 28 ; 0 = StackLevel, 1 = InterruptLevel
TaskPriority EQU 29 ; Task priority (0 = highest priority)
WaitFlag EQU 30 ; 0 = NOTIMEOUT, 1 = TIMEOUT, 2 = UNLINKED
TaskState EQU 31 ; Task State (only valid for SLTs)
DebugState EQU 32 ; Task Debug State: 0 = RUNNING, 1 = STOPPED
DebugFlags EQU 33 ; Debug Control Flags
OldFP EQU 34 ; Old FramePointer (used for StepOver)
; EQU 35 ; Reserved
MaxTimeUnits EQU 36 ; Maximum slice or watch time units
ErrorNumber EQU 40 ; Indicate Error Number (0 = No Error)
ErrorAddress EQU 44 ; Indicate Error Address
TaskGuardPtr EQU 48 ; Ptr to guard waiting for
OnCreatePtr EQU 52 ; Ptr to program entry on error
OnErrorPtr EQU 56 ; Ptr to program entry on task create
OnResetPtr EQU 60 ; Ptr to program entry on task reset
OnDeletePtr EQU 64 ; Ptr to program entry on task delete
OnWatchPtr EQU 68 ; Ptr to program entry on watchtime exceeded
TaskBPAddress EQU 72 ; Indicates Stopped at addressed breakpoint
; EQU 76 ; Reserved
; -------------- Length (ILT-TCB) = 80 Bytes
NextGuardPtr EQU 80 ; Ptr to next TCB in the guard linked list
LastGuardPtr EQU 84 ; Ptr to last TCB in the guard linked list
Stack1Ptr EQU 88 ; Ptr to beginning of Stack 1 (Hardware)
Stack1Size EQU 92 ; Maximum byte size of Stack 1
Stack2Ptr EQU 96 ; Ptr to beginning of Stack 2 (Aggregate)
Stack2Size EQU 100 ; Maximum byte size of Stack 2
OldSP EQU 104 ; Saved SP of task
OldUB EQU 108 ; Saved UB of task
OldPC EQU 112 ; Saved PC of task
OldSR EQU 116 ; Saved SR of task
OldG2 EQU 120 ; Saved G2 of task
OldG3 EQU 124 ; Saved G3 of task
OldG4 EQU 128 ; Saved G4 of task
OldG5 EQU 132 ; Saved G5 of task
; EQU 136 ; Saved G8 of task (Reserve)
; EQU 140 ; Saved G9 of task (Reserve)
OldG10 EQU 144 ; Saved G10 of task
OldG11 EQU 148 ; Saved G11 of task
OldG12 EQU 152 ; Saved G12 of task
OldG13 EQU 156 ; Saved G13 of task
OldG14 EQU 160 ; Saved G14 of task
OldG15 EQU 164 ; Saved G15 of task
Errno EQU 168 ; ErrorNo for C environment
SigFuncPtr EQU 172 ; SigFuncPtr for C environment
FPEModResult EQU 176 ; FPE: ModResult (High)
; EQU 180 ; FPE: ModResult (Low)
FPESrcOperand EQU 184 ; FPE: SrcOperand (High)
; EQU 188 ; FPE: SrcOperand (Low)
FPEDestPointer EQU 192 ; FPE: DestPointer
FPEErrorNumber EQU 196 ; FPE: ErrorNumber
; ------------- Length (SLT-TCB) = 200 Bytes
;----------------------------------------------------------------------------;
; Guard (Offsets) ;
;----------------------------------------------------------------------------;
GuardState EQU 0
GuardUsePtr EQU 4
GuardFirst EQU 8
GuardLast EQU 12
;----------------------------------------------------------------------------;
; Message Descriptor (Offsets) ;
;----------------------------------------------------------------------------;
MessageNextPtr EQU 0
MessageLastPtr EQU 4
MessageReceivePtr EQU 8
MessageSendPtr EQU 12
SOFTRESET EQU 0 ; Settings of G9
HARDRESET EQU 1
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -