利用标志位置位检测CPU型号的原理是什么?
; 386+ ? pushf pop ax mov dx,ax ;保存原FLAGS寄存器的原第14位-NT标志位 xor ax,0x4000 push ax popf ;取反原FLAGS寄存器第14位-NT标志位 pushf pop ax and ax,0x4000 ;取出取反后恢复到FLAGS寄存器的第14位-NT标志位 and dx,0x4000 ;取出原FLAGS寄存器的第14位-NT标志位 cmp ax,dx ;相减 jnz cpufine ;不相等(置位成功)说明是386+的CPU mov si,not386 ;相等(置位失败)说明是8086或者8088或者80286的CPU(16位处理器) call print jmp $ cpufine: ... ...