比较CMP有关问题

比较CMP问题
以下是代码,使用第三行的注释为CPUID命令执行以后各寄存器的值,执行CPUID后,我将EAX的值赋为EDX的值后,执行比较命令,但是,每次比较结果都是不相等,直接跳转到了noequ执行输出语句。我明明是按照EDX的值为EAX赋的值,为什么比较结果是不相等呢?

Assembly code

mov eax,00000001h
cpuid
mov eax,0BFEBFBFFh ;eax=00000F41  ebx=00010800  ecx=0000441d edx=BFEBFBFF 
cmp eax,edx
jne noequ
mov ax,BootMessage
call DispStr
jmp yesequ
noequ:mov ax,woqu
call DispStr
yesequ:mov ax,0  



------解决方案--------------------
int 21h是dos服务,但你的程序是mbr,那个时候dos还没装载所以不能用
你可以用bios的int 10h服务显示东西