下列寄存器组中,在访问存储器操作数地址时,可以提供偏移地址的是(A) A.BP、BX、SI、DI B.AX、BX、CX、DX C.SP、IP D.BX、SI、DI、DS 
时间: 2023-03-05 20:33:05 浏览: 72
正确答案是A. BP、BX、SI、DI。
在8086处理器中,BP、BX、SI和DI被称为通用寄存器,它们可以用于访问存储器操作数地址。其中,BP被用作基址指针(Base Pointer),可以提供偏移地址;而BX、SI和DI可以被用作变址指针(Index Pointer),结合基址指针BP,可以形成一个有效地址。
AX、CX、DX也是通用寄存器,但它们并不能直接提供偏移地址,因此不是正确答案。SP是堆栈指针,IP是指令指针,它们都不能用于访问存储器操作数地址。DS是数据段寄存器,它是段寄存器,也不能提供偏移地址。
相关问题
写出下列操作时,TEC-8模型计算机数据的流动路径和流动方向:给寄存器置初值、设置存储器地址、将寄存器中的数写到存储器中,从存储器中读数到寄存器。
### 回答1:
给寄存器置初值时,数据从输入设备(如键盘)输入,通过数据总线进入CPU的寄存器,数据的流动方向为输入设备 -> 数据总线 -> 寄存器。
设置存储器地址时,CPU将地址信息通过地址总线发送到存储器,数据的流动方向为CPU -> 地址总线 -> 存储器。
将寄存器中的数写到存储器中时,CPU将寄存器中的数据通过数据总线发送到存储器中指定地址处,数据的流动方向为寄存器 -> 数据总线 -> 存储器。
从存储器中读数到寄存器时,CPU将存储器中指定地址处的数据通过数据总线读取到寄存器中,数据的流动方向为存储器 -> 数据总线 -> 寄存器。
### 回答2:
TEC-8模型计算机数据的流动路径和流动方向如下:
1. 给寄存器置初值:
数据的流动路径是从外部输入设备通过输入接口流入计算机的寄存器中,数据的流动方向是从输入设备到寄存器。
2. 设置存储器地址:
数据的流动路径是从外部通过输入设备输入带有存储器地址的指令,指令中的地址会经过控制单元解码后传送到存储器地址寄存器中,数据的流动方向是从输入设备到寄存器。
3. 将寄存器中的数写到存储器中:
数据的流动路径是从寄存器通过数据总线传送到存储器中,通过地址总线指定写入的存储器地址,控制信号使得写操作发生,数据的流动方向是从寄存器到存储器。
4. 从存储器中读数到寄存器:
数据的流动路径是从存储器中通过地址总线指定读取的存储器地址,控制信号使得读操作发生,数据从存储器经过数据总线传送到寄存器,数据的流动方向是从存储器到寄存器。
### 回答3:
在TEC-8模型计算机中,数据的流动路径和流动方向如下:
1. 给寄存器置初值:首先,通过输入设备将初值转换为二进制形式,并将其输入到中央处理单元(CPU)的输入寄存器。然后,中央处理单元将输入寄存器中的数据传送到特定的寄存器中,即给寄存器置初值。
2. 设置存储器地址:在设置存储器地址时,中央处理单元将指令中的存储器地址部分读取到相应的寄存器中。这些寄存器包括地址寄存器和控制寄存器。通过将存储器地址传输到控制寄存器中,中央处理单元可以告诉存储器将数据写入或读取特定的地址。
3. 将寄存器中的数写到存储器中:在写入寄存器中的数据到存储器时,中央处理单元将要写入的数据传输到输出寄存器。然后,控制器将决定数据的传输路径,将数据从输出寄存器传送到存储器。在这个过程中,中央处理单元还会通过地址寄存器指定写入的存储器地址。
4. 从存储器中读数到寄存器:在将存储器中的数据读取到寄存器时,中央处理单元通过地址寄存器指定要读取的存储器地址。然后,控制器将数据从存储器传输到输入寄存器。最后,中央处理单元将输入寄存器中的数据传送到特定的寄存器中,完成了从存储器中读取数据到寄存器的过程。
综上所述,TEC-8模型计算机中,数据的流动路径是从输入设备到输入寄存器、从寄存器到特定寄存器、从特定寄存器到输出寄存器、从输出寄存器到存储器。数据的流动方向是从输入设备到中央处理单元,然后再从中央处理单元到存储器。
Push ax中存储器操作数实际地址的计算公式
在 16 位实模式下,指令中的存储器操作数地址是由段地址和偏移地址组成的。可以使用以下公式来计算实际地址:
实际地址 = 段地址 × 16 + 偏移地址
在 `PUSH AX` 指令中,`AX` 是一个 16 位寄存器,存储器操作数为 `SS:[SP-2]`。其中,`SS` 是栈段寄存器,`SP` 是栈指针寄存器,它指向栈顶的地址。因此,实际地址的计算公式为:
实际地址 = SS × 16 + SP - 2
注意,在执行 `PUSH AX` 指令时,栈指针寄存器 `SP` 会自动减去 2,因此实际地址是 `SS:[SP-2]`。
相关推荐














