+ -
当前位置:首页 → 问答吧 → 是什么计算或者操作,是必须使用bx和dx寄存器的?

是什么计算或者操作,是必须使用bx和dx寄存器的?

时间:2011-01-03

来源:互联网

例如,很多计算都是隐含使用ax寄存器,计数循环隐含使用cx寄存器。

那么哪些计算是默认必须使用bx寄存器和dx寄存器的?

作者: asdf12312y   发布时间: 2011-01-03

BX:存储器指针
DX:字乘法,字除法,间接I/O

作者: masmaster   发布时间: 2011-01-03

通用寄存器各自专门用途 
AX:字乘法,字除法,字I/O 
AL:字节乘法,字节除法,字节I/O,十进制算术运算 
AH:字节乘法,字节除法 
BX:存储器指针 
CX:串操作或者循环控制计数器 
CL:移位计数器 
DX:字乘法,字除法,间接I/O 
SI:存储器指针,串操作之源地址指针 
DI:存储器指针,串操作的目的地址指针 
BP:存取钱指针(存取堆栈的指针) 
SP:堆栈指针

作者: masmaster   发布时间: 2011-01-03

引用 2 楼 masmaster 的回复:

通用寄存器各自专门用途
AX:字乘法,字除法,字I/O
AL:字节乘法,字节除法,字节I/O,十进制算术运算
AH:字节乘法,字节除法
BX:存储器指针
CX:串操作或者循环控制计数器
CL:移位计数器
DX:字乘法,字除法,间接I/O
SI:存储器指针,串操作之源地址指针
DI:存储器指针,串操作的目的地址指针
BP:存取钱指针(存取堆栈的指针)
S……


书本上和网上也都是这种解释性的语言,能否写出一两句指令来举例呢?

谢谢。

作者: asdf12312y   发布时间: 2011-01-03

有些是隐含的 比如说 LOOP 、乘除法
有些可以不同 但是我们习惯上用某寄存器做某某用途 这样方便理解
比如数据传送不一定非用AX,但是AX执行速度快 所以我们一般用AX

作者: znxllyuan   发布时间: 2011-01-03

BX 一般作为指针
 DX 是32 乘除要用到的

 但是386以后 除了BX 别的通用寄存器也可以做指针

作者: znxllyuan   发布时间: 2011-01-03