当前位置:编程学习 > 汇编语言 >>

汇编指令:mov word [LABEL_DESC_CODE32 + 2], ax,其中LABEL_DESC_CODE32 + 2是什么意思?

LABEL_DESC_CODE32 是一个宏,宏结构如下: %macro Descriptor 3 dw %2 & 0FFFFh dw %1 & 0FFFFh db (%1 >> 16) & 0FFh dw ((%2 >> 8) & 0F00h) | (%3 & 0F0FFh) db (%1 >> 24) & 0FFh %endmacro ;
追问:+2的意思是偏移地址是两个字节?
前面的word[LABEL_DESC_CODE32+2]中的word是啥意思?是不是在任何时候+2都是偏移2个字节,而不是2个字或其他的。那word或其他伪指令定义的[]中的地址有什么具体的作用吗?没明白你说的是啥意思?
答案:这条指令的功能是填充描述符的段基地址的低16位
也就是Descriptor结构的dw	%1 & 0FFFFh
LABEL_DESC_CODE32是整个结构的首地址,+2正好指向dw	%1 & 0FFFFh域
其他:[LABEL_DESC_CODE32   2], ax shr eax, 16;eax里的数右移n位(shl则; dd 0 ; GDT基地址 ;这里宏的dd 0是何用意? 重复 重复
 

上一个:汇编语言变量累加
下一个:怎么学习汇编语言?

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,