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

📄 pcb.s

📁 一个简单的小型操作系统
💻 S
字号:
@ ****************************************************************************
@ * Simple Little Operating System - SLOS
@ ****************************************************************************

@ ****************************************************************************
@ *
@ * Module     : pcb.s
@ * Project	: SLOS
@ * Version	: 0.09
@ * Originator	: Andrew N. Sloss
@ * History    :
@ * 
@ * 16th July 2003 Andrew N. Sloss
@ * - added header information
@ *
@ ****************************************************************************

.text
     .code 32
     .align 0
     .global pcbSetup
     .global PCB_CurrentTask
     .global PCB_Table
     .global PCB_TopOfIRQStack
     .global PCB_PtrCurrentTask
     .global PCB_PtrNextTask
     .global PCB_PtrTask1
     .global PCB_BottomTask1
     .global PCB_PtrTask2
     .global PCB_BottomTask2
     .global PCB_PtrTask3
     .global PCB_BottomTask3
     .global pcbSetUp
     
/*
@ -- pcbSetup ----------------------------------------------------------------
;
@ Description : PCB setup 
;
@ Parameters  : r0=<thread entry address>
@               r1=<PCB Address>
@               r2=stack offset
@ Return      : setup PCB
@ Notes       : pcbSetUp (UINT *threadEntry,UINT *pcbAddress, UINT *stack)2
;
*/

pcbSetUp:
     STR     r0,[r1,#-4]          
     STR     r0,[r1,#-64]      
     STR     r2,[r1,#-8]     
     MOV     r0,#0x50             
     STR     r0,[r1,#-68] 
     MOV     pc,lr
     
PCB_Table:
     .word     PCB_PtrTask1
     .word     PCB_PtrTask2
     .word     PCB_PtrTask3

PCB_TopOfIRQStack:
     .word     0x9000  

PCB_PtrCurrentTask:
     .word     0x1

PCB_PtrNextTask:
     .word     0x1

PCB_CurrentTask:
     .word     0x0

PCB_BottomTask1:
     .skip 68
PCB_PtrTask1:

PCB_BottomTask2:
     .skip 68
PCB_PtrTask2:

PCB_BottomTask3:
     .skip 68
PCB_PtrTask3:
     .end

⌨️ 快捷键说明

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