

1. 386下ax,bx,cx,dx从16位变成了32位的eax/ebx/ecx/edx,但cs/ds/es/ss等段寄存器还是16位。
2. cs/ds/es/ss等段寄存器不再用来索引代码段/数据段/栈段等,它们的值指向了这些段的段描述符(64位)表在内存的位置
3. 386新增了48位的GDTR和16位的LDTR两个寄存器,里面的值分别指向全局和局部描述符表。还有IDTR也是48位
4. 386还新增有CR0/CR1/CR2/CR3寄存器,CR3中为当前程序的页目录表所在的那个页的物理地址
movzx eax,ax //将16位的ax扩展到32位的eax,相当于将eax的高16填零
xchg eax,hBmp2 //xchg用以把eax和hBmp2中的值互换,hBmp2中的值放到eax,eax中值放到hBmp2
jge/jle @F //大于/小于则跳到下面最近的@@处
pushad/popad //功能是将EAX,ECX,EDX,EBX,ESP,EBP,ESI,EDI这8个32位通用寄存器依次压栈/出栈