定义
通用寄存器地址通常是指CPU用来查找通用寄存器在计算机所在的位置的地址。在不同计算机系统结构中,地址空间的组织方式是不相同的,一般分为3种:3个地址空间的组织方式、2个地址空间的组织方式以及1个地址空间的组织方式,通用寄存器地址所对应的编址也不同。例如1个地址空间的组织方式中,地址空间的地低端地址是CPU的通用寄存器地址。1
地址空间组织方式地址空间可以有以下3种组织方式。
(1)3个地址空间的组织方式
存储空间的存储单位数量越多,用于存储单位编址的地址码越长。CPU中的通用寄存器数量越少,I/O/寄存器的数量稍多,主存储单元的数量要大得多。为了减少指令中的地址码长度,对这3个地址空间独立编址。这3个地址空间的寻址方式也不相同,对寄存器一般采用简单直接寻址方式,对主存空间一般采用间接寻址和变址寻址等多种寻址方式,以避免在指令中直接表示主存单元的地址码。
(2)2个地址空间的组织方式
CPU的通用寄存器独立编址,I/O接口寄存器和主存储器统一编址。统一编址空间的高端地址一般用于I/O接口寄存器地址。
(3)1个地址空间的组织方式
所有数据存储单位统一编址,地址空间的地低端地址是CPU的通用寄存器地址。高端地址是I/O接口寄存器地址。
编址单位
常用的编址单位有:字编址、字节编制和位编址。
字编址是指每个编址单位与访问的数据存储单元一致。字节编址是指每个编址单位都是一个字节,位节编址是指每个编址单位都是一个二进制位。1
通用寄存器介绍
通用寄存器主要包括:数据寄存器、变址寄存器、指针寄存器、段寄存器、指令指针寄存器。通用寄存器可用于传送和暂存数据,也可参与算术逻辑运算,并保存运算结果。除此之外,它们还各自具有一些特殊功能。汇编语言程序员必须熟悉每个寄存器的一般用途和特殊用途,只有这样,才能在程序中做到正确、合理地使用它们。
用途
通用寄存器数据寄存器AX乘、除运算,字的输入输出,中间结果的缓存AL字节的乘、除运算,字节的输入输出,十进制算术运算AH字节的乘、除运算,存放中断的功能号BX存储器指针CX串操作、循环控制的计数器CL移位操作的计数器DX字的乘、除运算,间接的输入输出变址寄存器SI存储器指针、串指令中的源操作数指针DI存储器指针、串指令中的目的操作数指针变址寄存器BP存储器指针、存取堆栈的指针SP堆栈的栈顶指针指令指针IP/EIP标志位寄存器Flag/EFlag32位CPU的段寄存器16位CPU的段寄存器ES附加段寄存器CS代码段寄存器SS堆栈段寄存器DS数据段寄存器新增加的段寄存器FS附加段寄存器GS附加段寄存器。2