指针传值
typedef struct s_proc {
STACK_FRAMEregs;
t_16ldt_sel;
DESCRIPTORldts[LDT_SIZE];
t_32pid;
charp_name[16];
}PROCESS;
有以上结构体,现有指针p_proc_ready指向某个此结构体变量,然后在汇编中有如下语句:
movesp, [p_proc_ready]
很显然这里需要将一个地址放入esp中,但是[p_proc_ready]应该指某个地址中的内容,为什么要加方括号呢?指针本来就是地址,直接传入不行吗?
另:这是nasm的语法,但是我觉得就这里而言应该和masm是一样的
[解决办法]
movesp, [p_proc_ready]
就是不地址内容给esp,你的理解没有错,
[解决办法]