typedef struct s_proc {
STACK_FRAME regs;
t_16 ldt_sel;
DESCRIPTOR ldts[LDT_SIZE];
t_32 pid;
char p_name[16];
}PROCESS;
有以上结构体,现有指针p_proc_ready指向某个此结构体变量,然后在汇编中有如下语句:
mov esp, [p_proc_ready]
很显然这里需要将一个地址放入esp中,但是[p_proc_ready]应该指某个地址中的内容,为什么要加方括号呢?指针本来就是地址,直接传入不行吗?
另:这是nasm的语法,但是我觉得就这里而言应该和masm是一样的
------解决方案--------------------
mov esp, [p_proc_ready]
就是不地址内容给esp,你的理解没有错,
------解决方案--------------------
加上[]括号,代表的就是括号里的数作为地址指向的那个地址的值。