+ -
当前位置:首页 → 问答吧 → 学汇编遇到点小问题,脑子不好使,问问各位。

学汇编遇到点小问题,脑子不好使,问问各位。

时间:2011-05-28

来源:互联网

1.书上说8086有14个寄存器。那么现在我们用的core系列,有那几个寄存器呢?有什么大的改变吗?cmd里的显示和书上8086CPU的显示差不多。

2.假设CPU只有14个寄存器,那么我们在使用电脑的时候,会同时开很多程序,那么这14个寄存器应该不断的被使用才对啊,可是为什么每次我cmd进入debug查看,寄存器数据都是不变的同几个值?

3.我打开cmd运行debug,用-a 1000:0输入代码,在这里用-u查看,正常。可是这时,我在打开一个cmd窗口,进入debug,输-u却发现我输入代码的地址上的所有的数据都被重置了,可是原来的cmd窗口里的同个内存地址显示的数据仍然是我输入的代码。这时怎么回事?

4.我在cmd里输add ax,bx有时候会出现error,关掉后重新打开就好了,这是为什么?

就这4个问题吧,答对一个给10分,给最先答对的。

作者: sun_shine_   发布时间: 2011-05-28

楼主的问题真可爱。

作者: MHBBCRCPJ   发布时间: 2011-05-28

昵称也挺可爱。

作者: MHBBCRCPJ   发布时间: 2011-05-28

你得先用个文本编辑器写出来不是?

作者: a55569769   发布时间: 2011-05-28

1.书上说8086有14个寄存器。那么现在我们用的core系列,有那几个寄存器呢?有什么大的改变吗?
现在的CPU上的寄存器非常多。浮点运算单元(FPU)就需要寄存器,比如FPU的那个用于运算的堆栈结构寄存器组,还是用于控制FPU的寄存器。现在PC上的CPU基本都有FPU。
还有现在的CPU上的寄存器和以前的相比都“变长”了。
具体有哪些这个星球上基本没有几个人能说出来,保守估计现在的CPU对程序员开放的寄存器不会低于100个。
初学不要求全,但是如果你以后想要专门研究这个领域的话可以去看看intel的程序员参考。
http://www.intel.com/products/processor/manuals/index.htm

cmd里的显示和书上8086CPU的显示差不多。
你的意思是你的cmd显示的就是你的CPU吧?不是的,你的cmd里的debug只不过是一个运行在虚拟86模式下的一个程序罢了,根本就没法反应你的CPU。虚拟86模式属于保护模式的范畴,如果你想深入学习汇编的话会学到的。

作者: MHBBCRCPJ   发布时间: 2011-05-28

先把8086汇编学好,再说!!

作者: masmaster   发布时间: 2011-05-28

热门下载

更多