关于汇编语言累加器的使用问题

来源:百度知道 编辑:UC知道 时间:2024/05/18 01:21:30
看见汇编中有人使用累加器。但我却不知道累加器是什么东西?和寄存器又有什么区别吗?另外怎么用累加器呢?谢谢了~~

在学术上,累加器是 AX(Accumulator,取其字第一个字母,所以叫AX),而在实际的用途上,除了AX 外,BX,CX,DX,SI,DI 都可以当累加器使用,并没有严格的规定。

AX在使用上是很广泛的,除了我们的普通累加的使用外,它还起着一个指定中断功能的作用,例如:
mov ah,9
mov dx,offset str
int 21
它就起了一个输出指定字串的作用。

除此外,在某些数学的计算上,它也是一个被指定使用的存储器,例如:
mov ax,9
mov cl,3
div cl
在这里,它就是一个被除数。

随着你学习的进阶,你会慢慢发觉,AX除了一些被指定使用的情况下使用外,在其他的累加使用上和其它的存储器并没有分别。

累加器是寄存器的一种
系统指定的累加器是AX
做加法速度快

累加器的opcode经过特殊优化,比其他的寄存器的opcode短一个字节。
因此从内存读取指令的速度会快一些。

累加器属于寄存器,但存取速度稍快,是一些指令的默认第二操作数如乘法指令,也可作为普通寄存器使用

累加器是寄存器中的一个,一般是AX。