词条 | 通用寄存器 |
释义 | 简介通用寄存器可用于传送和暂存数据,也可参与算术逻辑运算,并保存运算结果。除此之外,它们还各自具有一些特殊功能。通用寄存器的长度取决于机器字长,汇编语言程序员必须熟悉每个寄存器的一般用途和特殊用途,只有这样,才能在程序中做到正确、合理地使用它们。 主要用途通用寄存器数据 寄存器AX乘、除运算,字的输入输出,中间结果的缓存 AL字节的乘、除运算,字节的输入输出,十进制算术运算 AH字节的乘、除运算,存放中断的功能号 BX存储器指针 CX串操作、循环控制的计数器 CL移位操作的计数器 DX字的乘、除运算,间接的输入输出 变址 寄存器SI存储器指针、串指令中的源操作数指针 DI存储器指针、串指令中的目的操作数指针 变址寄存器BP存储器指针、存取堆栈的指针 SP堆栈的栈顶指针 指令指针IP/EIP 标志位寄存器Flag/EFlag 32位 CPU的 段寄存器16位CPU的 段寄存器ES 附加段寄存器 CS 代码段寄存器 SS 堆栈段寄存器 DS 数据段寄存器 新增加的 段寄存器FS 附加段寄存器 GS 附加段寄存器 相关信息寄存器是CPU内部重要的数据存储资源,用来暂存数据和地址,是汇编程序员能直接使用的硬件资源之一。由于寄存器的存取速度比内存快,所以,在用汇编语言编写程序时,要尽可能充分利用寄存器的存储功能。寄存器一般用来保存程序的中间结果,为随后的指令快速提供操作数,从而避免把中间结果存入内存,再读取内存的操作。在高级语言(如:C/C++语言)中,也有定义变量为寄存器类型的,这就是提高寄存器利用率的一种可行的方法。 另外,由于寄存器的个数和容量都有限,不可能把所有中间结果都存储在寄存器中,所以,要对寄存器进行适当的调度。根据指令的要求,如何安排适当的寄存器,避免操作数过多的传送操作是一项细致而又周密的工作。 |
随便看 |
|
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。