通用寄存器用于在微处理器内存储临时数据。 8086微处理器中有8个通用寄存器。
数字
–通用寄存器
AX –
这是累加器。它为16位, 分为两个8位寄存器AH和AL以执行8位指令。
它通常用于算术和逻辑指令, 但在8086微处理器中, 并不一定要将累加器作为目标操作数。
例子:
ADD AX, AX (AX = AX + AX)
BX –
这是基址寄存器。它为16位, 分为两个8位寄存器BH和BL以执行8位指令。
它用于存储偏移量的值。
例子:
MOV BL, [500] (BL = 500H)
CX –
这是计数器寄存器。它为16位, 分为两个8位寄存器CH和CL以执行8位指令。
它用于循环和旋转。
例子:
MOV CX, 0005
LOOP
DX –
这是数据寄存器。它为16位, 分为两个8位寄存器DH和DL以执行8位指令。
它用于乘法输入/输出端口寻址。
例子:
MUL BX (DX, AX = AX * BX)
SP –
这是堆栈指针。它是16位。
它指向堆栈的最顶层项目。如果堆栈为空, 则堆栈指针将为(FFFE)H。相对于堆栈段的偏移地址。
BP –
这是基本指针。它是16位。
它主要用于访问堆栈传递的参数。相对于堆栈段的偏移地址。
SI –
这是源索引寄存器。它是16位。
它用于数据的指针寻址, 并在某些与字符串相关的操作中用作源。偏移量是相对于数据段的。
DI –
这是目标索引寄存器。它是16位。
它用于数据的指针寻址中, 并在某些与字符串相关的操作中用作目标。它的偏移量是相对于额外段的。