typedefunsigned intu32;
typedefunsigned shortu16;
typedefunsigned charu8;
在start.c 里面 定义
u8 gdt_ptr[6];
1. u32*(&gdt_ptr[2]) // 取得数组第2元素的地址,并转化为 四字节地址!
在kernel.asm
extern gdt_ptr ;导入全局变量
sgdt [gdt_ptr];
------------------------------------------------------
functionA()
{
struct TT A; //此时A已经取得栈空间
int addr =1000;
Function(addr, &A)
}
Function(int addr, struct TT *Ptr)
{
struct TT *Tmp;
for(int i= 0 ; i < Vector.size() ; i++)
{
Tmp = & Vector[i] ; 左右边都是地址
if( add == Tmp->addr)
1.Ptr->x = Tmp->x; //复制操作
2.memrcy(Ptr,Tmp ,sizeof(Tmp ));
首先明白什么地址 和 地址里面的内容
}
}
浙公网安备 33010602011771号