欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

請教1個有關寄存器的基礎知識

更新时间: 2014-01-05 03:17:09 责任编辑: Author_N1

 

請教一個有關寄存器的基礎知識
1.“寄存器是与机器硬件密切相关的,不同类型的计算机,寄存器的数目是不一样的,通常为2到3个,对于在一个函数中说明的多于2到3个的寄存器变量,C编译程序会自动地将寄存器变量变为自动变量。”
這是引用百度百科的一段話,我無法理解爲什麽寄存器只有2-3個  寄存器不是有ax bx cx bp等等這麼多嗎 

2.我以前學習C語言的時候用到過寄存器變量 如 register int p;请问这个变量存储在哪个寄存器

--参考方法--
1.不会只有2-3个吧
拿32位Intel CPU来说,含有的寄存器:
4个数据寄存器(EAX、EBX、ECX和EDX)
2个变址和指针寄存器(ESI和EDI) 2个指针寄存器(ESP和EBP)
6个段寄存器(ES、CS、SS、DS、FS和GS)
1个指令指针寄存器(EIP) 1个标志寄存器(EFlags)

2.register int p;
只是对编译器优化的一个建议,这种建议的取舍则由编译器决定。
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 03:17:09
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/20371/
本文WWW.DOC100.NET DOC100.NET版权所有。