汇编语言中ax,bx,cx,dx……英文全称是什么,中文代表什么
发布网友
发布时间:2022-04-23 13:22
我来回答
共2个回答
热心网友
时间:2022-05-03 09:30
8086*有4个16位的通用寄存器(AX、BX、CX、DX),4个16位的指针与变址寄存器(BP、SP、SI、DI),4个16位的段寄存器(CS、DS、SS、ES),一个指令指针寄存器(IP)及一个标志寄存器(PSW)。
AX BX CX DX是CPU内部的通用寄存器中的数据寄存器,数据寄存器一般用于存放参与运算的数据或运算的结果,每一个数据寄存器都是16位的(即16个二进制位),但又可以将高,低8位分别作为两个独立的8位寄存器使用.它们的高8位记作AH,BH,CH,DH,低8位记作AL,BL,CL,DL.这种灵活的使用方法给编程带来极大的方便,既可以处理16位数据,也能处理8位数据.
数据寄存器除了作为通用寄存器使用外,它们还有各自的习惯用法
AX 称为累加器,常用于存放算术逻辑运算中的操作数,另外所有的I/O指令都使用累加器与外设接口传送信息
BX 称为基址寄存器,常用来存放访问内在时的基地址,
CX 称为计数寄存器,在循环和串操作指令中用作计数器
DX 称为数据寄存器,在寄存器间接寻址中的I/O指令中存放I/O端口的地址
另外,在做双字长乘除法运算时,DX 与AX合起来存放一个双字长数(32位),其中DX存放高16位,AX存放低16位.
1978年Intel公司推出16位微处理器8086。8086是一种具有代表性的处理器,后续推出的各种处理器均保持与之兼容。8086CPU采用HMOS工艺,片上集成2.9万个晶体管,引脚为双列直插式,有40个引脚,内外总线都为16位,是真正的16位CPU。其中有20位地址线,可直接寻址1M空间。
为了兼容市场上的8位微机,Intel公司又推出了8086的改进型8088处理器。它的内部总线为16位,外部总线为8位,地址线为20位,指令系统与8086系统兼容,是准16位机。
上图:8086CPU的内部结构框图(点击查看大图像)
从功能上划分,CPU内部可划分为总线接口单元BIU(Bus Interface Unit)与执行单元EU(Execution Unit):
总线接口单元BIU
BIU负责CPU与存储器、外设之间的数据传送,包括存储器读写,I/O接口读写以及取指令。
BIU由段寄存器(CS、DS、SS、ES)、指令指针寄存器(IP)、地址加法器、内部寄存器、指令队列缓冲器及I/O控制逻辑等部分组成。
2. 指令执行单元部件EU
EU负责指令执行,它由通用寄存器组、专用寄存器组、算术逻辑运算单元(ALU)、标志寄存器(FR)和内部控制逻辑组成。
从上可看出,BIU负责完成取指令与存取操作数,即CPU所有与外部总线有关的操作均由其完成。而EU则负责分析、执行指令,并不需与CPU外部总线直接发生联系,其所需的数据和所产生的结果都通过BIU接收或传送到外部总线。BIU与EU两个单元一起并行工作,使得取指令与执行指令的操作并行进行,从而大大提高了工作效率。
图中的8086*有4个16位的通用寄存器(AX、BX、CX、DX),4个16位的指针与变址寄存器(BP、SP、SI、DI),4个16位的段寄存器(CS、DS、SS、ES),一个指令指针寄存器(IP)及一个标志寄存器(PSW)。
通 用
寄存器
15 - 8 7 - 0
累 加 器(AX) AH AL
基址寄存器(BX) BH BL
计 数 器(CX) CH CL
数据寄存器(DX) DH DL
指 针
和变址
寄存器
15 - 0
堆栈指示器(SP) SP
基址指示器(BP) BP
源 变址 器(SI) SI
目的变址器(DI) DI
控 制
寄存器 15 - 0
指令指示器(IP) IP
标志寄存器(FR) FR
段寄存器 15 - 0
代码段寄存器(CS) CS
数据段寄存器(DS) DS
堆栈段寄存器(SS) SS
附加段寄存器(ES) ES
注:
其中4个通用寄存器都可以拆成高8位与低8位两个寄存器来使用。
4个变址指针寄存器(SP、BP、SI、DI)中前两个称为“地址指针”,后两个称为“变址寄存器”。
通用寄存器的特殊用途和隐含性质
寄存器名 特殊用途 隐含性质
AX, AL 在输入输出指令中作数据寄存器用 不能隐含
在乘法指令中存放被乘数或乘积;
在除法指令中存放被除数或商 隐含
AH 在LAHF指令中,作目标寄存器用 隐含
AL 在十进制运算指令中作累加器用 隐含
在XLAT指令中作累加器用 隐含
BX 在间接寻址中作基址寄存器用 不能隐含
在XLAT指令中作基址寄存器用 隐含
CX 在串操作指令和LOOP指令中作计数器用 隐含
CL 在移位/循环移位指令中作移位次数计数器用 不能隐含
DX 在字乘法/除法指令中存放
乘积高位或被除数高位或余数 隐含
在间接寻址的输入输出指令中作地址寄存器用 不能隐含
SI 在字符串运算指令中作源变址寄存器用 隐含
在间接寻址中作变址寄存器用 不能隐含
DI 在字符串运算指令中作目标变址寄存器用 隐含
在间接寻址中作变址寄存器用 不能隐含
BP 在间接寻址中作基址指针用 不能隐含
SP 在堆栈操作中作堆栈指针用 隐含
注:EU中设计了一个16位的标志寄存器,用来存放程序状态字PSW(Program Status Word)。PSW中一共定义了9个有效位。
PSW的标志位
OF DF IF TF SF ZF AF PF CF
注:最左边的代表PSW的最高位,最右边(CF)的代表最低位。
PSW中标志位的用法及含义
标志位 用法及含义
DF 方向控制(Direction Flag)位
若设置DF=1,则串操作后,源和目的操作数的地址均向增址方向调整;若设置DF=0,则向减址方向调整。
IF 中断允许控制(Interrupt Enable Flag)位
若设置IF=1,则允许CPU响应可屏蔽中断(开中断);若IF=0,则不允许CPU响应可屏蔽中断(关中断)。
TF 陷井控制(Trap Flag)位
若设置TF=1,则将在CPU运行中设置陷井,此时,CPU每执行一条指令就产生一个单步中断,用户可以在中断服务中对当前指令的执行情况进行调试;若TF=0,表示不设置陷井。该标志主要用于程序的单步调试。
OF 溢出标志(Overflow Flag)位。它反映有符号数的运算结果是否超出其所能表示的范围;字运算的范围为-32768~+32767,字节运算的范围为-128~+127。若OF=1,则表示结果溢出;OF=0,表示结果未溢出。注意,OF标志主要针对有符号运算。
SF 符号标志(Sign Flag)位。它反映运算结果的最高有效位(MSB)为0、还是为1;对有符号运算来说,它反映了运算结果为正、还是为负。若SF=1,反映运算结果的最高有效位为1(或结果为负);若SF=0,则表示最高有效位为0(或结果不为负)。
ZF 零标志(Zero Flag)位。反映运算结果是否为全0。若ZF=1,则表示运算结果为全0(各位均为0);若ZF=0,表示运算结果非全0(各位不全为0)。
AF 辅助标志(Auxiliary Flag)位。该标志主要用于BCD码运算后的调整。它反映运算中低四位向前(即D3向D4)有无进位(针对加运算)或借位(针对减运算)。若AF=1,表示有进位或借位;若AF=0,表示无进位或借位。
PF 校验标志(Parity Flag)位。反映运算结果中1的个数是否为偶数。若PF=1,表示运算结果中有偶数个1;若PF=0,表示结果中有奇数个1。
CF 进位标志(Carry Flag)位。它反映运算中最高有效位(字运算时为D15、字节运算时为D7位)向前有无进位(针对加运算)或借位(针对减运算)。若CF=1,表示有进位或借位;若CF=0,表示无进位或借位。CF标志主要针对无符号运算。
注:DF、 IF、 TF为控制标志位,用户可以通过指令设置它们为0或1。从而控制CPU的状态。OF、SF、 ZF、 AF、 PF、CF 为状态标志位,它们记录程序的运行状态,通过对它们的判断决定程序
参考资料:http://jw.nju.e.cn/Courseware/wclqyyycsy/syxz/8086.html
热心网友
时间:2022-05-03 10:48
我不粘贴了
貌似很多人对粘贴很反感
你自己点击去看吧
http://ke.baidu.com/view/6159.htm
-------------------------------------
我粘了!楼上粘贴那么多谁管了~~~
AH&AL=AX(accumulator):累加寄存器
BH&BL=BX(base):基址寄存器
CH&CL=CX(count):计数寄存器
DH&DL=DX(data):数据寄存器
SP(Stack Pointer):堆栈指针寄存器
BP(Base Pointer):基址指针寄存器
SI(Source Index):源变址寄存器
DI(Destination Index):目的变址寄存器
IP(Instruction Pointer):指令指针寄存器
CS(Code Segment)代码段寄存器
DS(Data Segment):数据段寄存器
SS(Stack Segment):堆栈段寄存器
ES(Extra Segment):附加段寄存器
OF overflow flag 溢出标志 操作数超出机器能表示的范围表示溢出,溢出时为1.
SF sign Flag 符号标志 记录运算结果的符号,结果负时为1.
ZF zero flag 零标志 运算结果等于0时为1,否则为0.
CF carry flag 进位标志 最高有效位产生进位时为1,否则为0.
AF auxiliary carry flag 辅助进位标志 运算时,第3位向第4位产生进位时为1,否则为0.
PF parity flag 奇偶标志 运算结果操作数位为1的个数为偶数个时为1,否则为0.
DF direcion flag 方向标志 用于串处理.DF=1时,每次操作后使SI和DI减小.DF=0时则增大.
IF interrupt flag 中断标志 IF=1时,允许CPU响应可屏蔽中断,否则关闭中断.
TF trap flag 陷阱标志 用于调试单步操作.