通用寄存器用于在微处理器内存储临时数据。 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位。
它用于数据的指针寻址中,并在某些与字符串相关的操作中用作目的地。它的偏移量相对于额外的段。