当前位置: 代码迷 >> 汇编语言 >> 比较CMP有关问题
  详细解决方案

比较CMP有关问题

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

Assembly code
mov eax,00000001hcpuidmov eax,0BFEBFBFFh ;eax=00000F41  ebx=00010800  ecx=0000441d edx=BFEBFBFF cmp eax,edxjne noequmov ax,BootMessagecall DispStrjmp yesequnoequ:mov ax,woqucall DispStryesequ:mov ax,0  


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