教一有寄存器的基知
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;
只是对编译器优化的一个建议,这种建议的取舍则由编译器决定。