8086 CPU 中的寄存器与标志位 比眉伴天荒 2024-04-23 20:14 20阅读 0赞 **8086微处理器包含有13个16位的寄存器和9位标志位。** ● 4个通用寄存器(AX,BX,CX,DX) ● 4个段寄存器(CS,DS,SS,ES) ● 4个指针和变址寄存器(SP,BP,SI,DI) ● 指令指针(IP) 1. 通用寄存器 (1)8086含4个16位数据寄存器,它们又可分为8个8位寄存器(每个都可分为高8位和低8位)H–high、L–low,即: ● AX --> AH,AL ● BX --> BH,BL ● CX --> CH,CL ● DX --> DH,DL 常用来存放参与运算的操作数或运算结果。 (2)数据寄存器特有的习惯用法 ● AX:累加器。多用于存放中间运算结果。所有I/O指令必须都通过AX与接口传送信息; ● BX:基址寄存器。在间接寻址中用于存放基地址; ● CX:计数寄存器。用于在循环或串操作指令中存放循环次数或重复次数; ● DX:数据寄存器。在32位乘除法运算时,存放高16位数;在间接寻址的I/O指令中存放I/O端口地址。 2. 指针和变址寄存器 ● SP:堆栈指针寄存器,其内容为栈顶的偏移地址; ● BP:基址指针寄存器,常用于在访问内存时存放内存单元的偏移地址。 ● SI:源变址寄存器 ● DI:目标变址寄存器 变址寄存器常用于指令的间接寻址或变址寻址。 3. 段寄存器 ● CS:代码段寄存器,代码段用于存放指令代码 ● DS:数据段寄存器, ● ES:附加段寄存器,数据段和附加段用来存放操作数 ● SS:堆栈段寄存器,堆栈段用于存放返回地址,保存寄存器内容,传递参数 4. 指令指针 IP 16位指令指针寄存器,其内容为下一条要执行的指令的偏移地址。 5. 状态标志位 (1)状态标志: ● 进位标志位(CF,Carry Flag):运算结果的最高位有进位或有借位,则CF=1 ● 辅助进位标志位(AF,Auxiliary Flag):加法运算中,第三位向第四位有进位;或在减法运算中,第三位向第四位有借位,AF=0。否则AF = 1。 ● 溢出标志位(OF,Over Flag):运算结果有溢出,则OF=1 ● 零标志位(ZF,Zero Flag):反映指令的执行是否产生一个为零的结果 ● 符号标志位(SF,Sign Flag):指出该指令的执行是否产生一个负的结果 ● 奇偶标志位(PF,Parity Flag):表示指令运算结果的低8位“1”个数是否为偶数 (2)控制标志位 ● 方向控制标志位(DF,Direction Flag):用来控制数据串操作指令的地址步进方向 ● 中断允许标志位(IF,Interrupt Flag):表示CPU是否能够响应外部可屏蔽中断请求 ● 跟踪标志(TF,Trap Flag):CPU单步执行 **标志寄存器** ![在这里插入图片描述][0fd9d5188f404831aacbd1ee6764b30f.png] [0fd9d5188f404831aacbd1ee6764b30f.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/04/23/544ce4fcbaf64180b94f557cef7dee65.png
还没有评论,来说两句吧...