_pushfd_eflags:
PUSHFD ; PUSH EFLAGS
POP EAX
RET
Eflags前面的E是Extra(额外)的意思,Flags是十六位标志位
将EFLAGS标志位里的三十二位推入栈中,再弹出至EAX,相当于使用EAX寄存器保存标志位的值。
相当于MOV EAX,EFLAGS
_popfd_eflags:
MOV EAX,DS:[ESP+4]
PUSH EAX
POPFD ; POP EFLAGS
RET
拿到数据段下一条32位数据传入EAX,推入EAX至栈中,再将栈中保存的EAX值弹出至标志位。
相当于MOV EFLAGS,EAX