说清楚
完整描述纠纷焦点和具体问题
寄存器的名称代表的是对应的二进制命令如图 是 mov ax 共同构成 66 B8 这一条二进制指令,而不是mov=66 ax=B8,这个从MOV bx, ax 就能看出。补充更多实验所有我觉得一条指令还是得整体来看 并不能个字拆分找出对应关系,当然CPU设计的时候二进制指令的设计肯定是有规律可循的,但是这不在本题讨论范围。最后的结论就是:汇编语言中寄存器的名称并不代表的是寄存器地址
操作系统在加载程序时,给每个段寄存器都有规定的缺省值。因此,如果你的程序承认这个缺省值是不需要在程序中对段寄存器赋值的(当然赋了也没关系)。 一共有4个段地址寄存器,CS(code segment register)16位代码段寄存器DS(data segment register)16位数据段寄存器SS(stack segment register)16位堆栈段寄存器ES(extra segment register )16为附加段寄存器
寄存器部件。包括通用寄存器、专用寄存器和控制寄存器。通用寄存器又可分定点数和浮点数两类,它们用来保存指令中的寄存器操作数和操作结果。通用寄存器是中央处理器的重要组成部分,大多数指令都要访问到通用寄存器。
32位CPU所含有的寄存器有:
4个数据寄存器(EAX、EBX、ECX和EDX)
2个变址和指针寄存器(ESI和EDI) 2个指针寄存器(ESP和EBP) 6个段寄存器(ES、CS、SS、DS、FS和GS)
1个指令指针寄存器(EIP) 1个标志寄存器(EFlags)
1、数据寄存器
数据寄存器主要用来保存操作数和运算结果等信息,从而节省读取操作数所需占用总线和访问存储器的时间。
32位CPU有4个32位的通用寄存器EAX、EBX、ECX和EDX。对低16位数据的存取,不会影响高16位的数据。这些
低16位寄存器分别命名为:AX、BX、CX和DX,它和先前的CPU中的寄存器相一致。
4个16位寄存器又可分割成8个独立的8位寄存器(AX:AH-AL、BX:BH-BL、CX:CH-CL、DX:DH-DL),每个寄
存器都有自己的名称,可独立存取。程序员可利用数据寄存器的这种“可分可合”的特性,灵活地处理字/字 节的信息。......