汇编语言中ax,bx,cx,dx……英文全称是什么,中文代表什么

作者&投稿:苍梁 (若有异议请与网页底部的电邮联系)
汇编语言的AX,BX,CX,DX,分别表示什么~

AX寄存器称为累加器(Accumulator),使用时主要用于存放数据,如存放算术、逻辑运算中的操作数或结果。也可临时时用于存放地址。
BX寄存器称为基址寄存器(BaseRegister),常用来存放访问存储器时的地址。
CX寄存器称为计数寄存器(CountRegister),常用于保存计算值,如在移位指令,循环(loop)和串处理指令中用作隐含的计数器。
DX寄存器称为数据寄存器(DataRegister),常用于数据传递。在寄存器间接寻址中的I/O指令中存放I/O端口的地址。

扩展资料:
汇编语言中的AX、BX、CX、DX作为CPU内部的通用寄存器中的数据寄存器助记符用来存放参与运算的数据或是存储运算的结果。这四个数据寄存器都是16位的,实际由两个8位寄存器组合而成,这是为了灵活处理8位数据。
AX、BX、CX、DX每个寄存器可以将高、低8位分别作为独立的8位寄存器使用。其中的高8位用AH、BH、CH、DH表示,低8位用AL、BL、CL、DL表示。

AX BX CX DX中的X并不是什么英文缩写
AX = AH&AL
BX =BH&BL
CX=CH&CL
DX=DH&DL
X就表示是16位寄存器的一个助记符,那也不能用H(已经作为high)表示了,就用X来代替。C语言中不也是0x表示十六进制数的嘛~

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://baike.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 陷阱标志 用于调试单步操作.


汇编新手 下面这段代码中ip被修改了几次 mov ax,bx sub ax,ax jmp...
3条指令执行后,CUP四次修改IP。第1次在执行 mov ax,bx后,第2次在执行sub ax,ax后,第3次在读入jmp ax后,第4次在执行jmp ax后。最后IP中的值是0。分析:指令mov ax,bx执行前初始IP值不变,执行后CPU第一次修改IP,读入的指令是89 D8(mov ax,bx),长度为2Byte,执行后IP=初始IP+2...

8086汇编语言,mov word ptr x,ax,什么意思?
x86 CPU 可以执行 16 位数的指令,也可以执行 8 位数的指令。位数是多少?在指令中,你如果不说明白,CPU 就无法干活。针对寄存器的指令,如:MOV CX,200、INC AL 寄存器的位数,就是非常清楚的。--- 而,针对存储器的指令,如:MOV [BX],20H。则有可能是一个字节、或两个字节的传送。

汇编语言指令 MOV AX,[BX] XOR DX,DX??
为什么执行 MOV AX,[BX] 就能取被除数6,作为参数了呢??? 毛哥解释:因为MOV BX,0,所以MOV AX,[BX]=MOV AX,[0],AX的值是段地址(默认的DATAS地址)+偏移地址 (0)即DATAS里面的值(DATAS SEGMENT声明的)6;

.设AX、BX中是带符号数,CX、DX中是无符号数,请写出实现以下功能的指令...
CMP CX,DX JC NEXT1 CMP AX,BX JL NEXT2 CMP CX,0 JE NEXT3 CMP CX,0 JNE NEXT4 PS:LS回答错误,jc\/jb\/ja只检测CF,用于无符号判断 jl判断准则是SF xor OF,用于有符号判断

微机原理与接口技术中题目:写出寄存器AX,BX,CX、DX、SI的隐含用法?
除了通用寄存器功能外 AX做累加器,与I\/O通信时必须用AX BX用做基址,访问内存的基地址,默认段为DS段 CX用做REP,LOOP等的COUNTER。。DX数据寄存器,寄存器间接寻址的I\/O指令中存放I\/O端口的地址;在长乘法时,DX存放运算结果的高16位、SI和DI作为变址寻址方式的源和目的的偏移地址 不知道这些算...

MOV AX,[BX]与MOV AX,BX有什么区别
我们这样来讲吧,假如BX是一个存储器指针,其指向一个内存地址,而BX则为该地址的内存数据,这样的话就属于存储器间接寻址。mov AX, [BX]是把该地址的数据传给AX,而mov AX, BX则是将内存地址传给AX,两者还是有一定区别的。

汇编语言中,关于mov ax,[bx] 和mov al,[bx]的一些疑惑。
mov ax,[bx]将ffff:0中和ffff:0001中的值一起放到ax中 mov al,[bx]将ffff:0放到al中

请问汇编语言中的MOV AX,[BX-SI]这个指令在语法上是否有错?为什么...
这个指令是错的,如果你是想将寄存器bx的值,减去寄存器si的值,直接用mov ax,bx-si就可以啦,如果你是想将bx,si当做偏移地址,想操作bx,si对应的内存单元内容,可以用mov ax,[bx]-[si]即可

MOVE AX,BX与MOVE AX,[BX]要这个中括号与不要有什么区别,这个中括号是...
其实这是两种寄存器寻址方式,move ax,bx是寄存器直接寻址,即将寄存器bx中的值直接放到ax中 move ax,[bx]是寄存器间接寻址,即bx中放的是地址,通过这个地址我们将内存中的值放入ax

汇编语言
AX = 3101H,BX = 0023H 六。1。装配的语言(AssemblyLanguage)面向机器的编程语言。总成:汇编语言翻译成机器语言被称为一个汇编程序。汇编编写汇编语言程序翻译成对应的机器语言翻译程序。输入汇编程序汇编语言编写的源代码,输出的是目标机器语言程序。大会语言为特定的计算机或计算机系列设计的面向机器的...

茅箭区13994944157: 汇编语言的AX,BX,CX,DX,分别表示什么 -
山净中宝: AX寄存器称为累加器(Accumulator),使用时主要用于存放数据,如存放算术、逻辑运算中的操作数或结果.也可临时时用于存放地址. BX寄存器称为基址寄存器(BaseRegister),常用来存放访问存储器时的地址. CX寄存器称为计数寄存...

茅箭区13994944157: 汇编语言的 -
山净中宝:[选项] A. X, B. X, C. X, D. X,分别表示什么

茅箭区13994944157: 请问汇编语言中的AX,BX,CX,DX是什么东东? -
山净中宝: AX,BX,CX,DX都是CPU自带寄存器,存取计算中间结果的作用.CX用来计数使用.

茅箭区13994944157: 在汇编语言中AX、BX、CX、DX各有各的应用,是什么决定了它们自己的用途的?如果用AX来作为计数器
山净中宝: 你这种情况比较复杂!其实这只是81286时代的遗留,现在的处理器,EAX/EBX/ECX/EDX是可以随便用的.由于历史的原因,这几个寄存器的使用有一些偏好,但不是必须的,我们也不需要了解.在混合汇编时,EAX一般用于返回值,如果返回值是64位,则用到EDX:EAX.

茅箭区13994944157: AX BX CX DX各指什么? -
山净中宝: 首先清楚他们是CPU内部的通用寄存器中的数据寄存器,数据寄存器一般用于存放参与运算的数据或运算的结果,每一个数据寄存器都是16位的(即16个二进制位),但又可以将高,低8位分别作为两个独立的8位寄存器使用.它们的高8位记作...

茅箭区13994944157: 汇编语言中ax,bx,cx,dx……英文全称是什么,中文代表什么 -
山净中宝: 我不粘贴了 貌似很多人对粘贴很反感 你自己点击去看吧 http://baike.baidu.com/view/6159.htm------------------------------------- 我粘了!楼上粘贴那么多谁管了~~~ AH&AL=AX(accumulator):累加寄存器 BH&BL=BX(base):基址寄存器 CH&CL=CX(...

茅箭区13994944157: 汇编中,AX BX CX DX中的X是什么意思,求X的英文全称!!!!A B C D的英文已经知道,谢谢! -
山净中宝: AX BX CX DX中的X并不是什么英文缩写 AX = AH&AL BX =BH&BL CX=CH&CL DX=DH&DL X就表示是16位寄存器的一个助记符,那也不能用H(已经作为high)表示了,就用X来代替.C语言中不也是0x表示十六进制数的嘛~

茅箭区13994944157: 汇编 CX的值表示什么 -
山净中宝: CX中可以存放循环次数,请问可以存放代码长度吗? ---------------------------------------------------- 不可以 cx在汇编中表示循环次数题目意思:把“mov ax,4c00h”之前的指令复制到内存0:200处”, 1,指令本身就是由字节组成(mov ax,code在内存中占3个字节) 2,复制就是把'每一个字节'一个个移动到其它地方去 3,怎么移动到别处?就是用循环.把每一个字节当做循环次数.只是在debug中cx默认显示当前指令的长度(总的字节数)

茅箭区13994944157: 举例说明AX,BX,CX,DX,SI,DI,BP,SP的主要作用
山净中宝: 汇编语言中的AX、BX、CX、DX是CPU内部的通用寄存器中的数据寄存器助记符.数据寄存器用来存放参与运算的数据或是存储运算的结果.这四个数据寄存器都是16位的,实际由两个8位寄存器组合而成,这是为了灵活处理8位数据.每个寄...

茅箭区13994944157: 汇编:用R命令检查各寄存器内容,特别注意AX,BX,CX,DX,IP及标志位中ZF,CF和AF的内容. -
山净中宝: ZF是零标志 CF是进位标志 AF是辅助进位标志 用R命令后会显示三行内容,第一行是AX,BX,CX,DX,以及SP,BP,SI,DI;第二行是段寄存器DS,ES,SS,CS以及指令指针IP,还有后面8个符号吧,两个字母一组,那就是标志位.一般是这样的:...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网