实时嵌入式软件测试工具的研究
和IP寄存器压栈。因此,在interrupt函数入口处,堆栈如图2.2.1.2所示。我们将利用interrupt函数的栈的安排方式对要执行的任务的堆栈进行初始化。
本文链接地址:http://www.oyaya.net/fanwen/view/141093.html
Bp<-top of stack
DI
SI
DS
ES
DX
CX
BX
AX
IP
CS
PLAGS
- 任务中使用的寄存器的数据结构
typedef struct int_regs{
unsigned bp
; unsigned di; unsigned si; unsigned ds; unsigned es; unsigned dx; unsigned cx; unsigned bx; unsigned ax; unsigned ip; unsigned cs; unsigned flags;};
此结构严格按照
interrupt函数入口处堆栈的结构定义,初始化时,将结构中的代码段(CS),指令指针(IP)设置成构成此任务的函数的段地址和偏移地址。- 用于任务管理的数据结构
struct task_struct{
unsigned sp
; 《实时嵌入式软件测试工具的研究(第4页)》