8085 寻址模式和中断


现在我们来讨论8085微处理器中的寻址方式。

8085 中的寻址模式

这些指令用于将数据从一个寄存器传输到另一个寄存器、从存储器传输到寄存器、从寄存器传输到存储器,而不改变内容。8085 中的寻址模式分为 5 组 -

立即寻址方式

在此模式下,8/16 位数据在指令本身中指定为其操作数之一。例如: MVI K,20F:表示将20F复制到寄存器K中。

寄存器寻址方式

在此模式下,数据从一个寄存器复制到另一个寄存器。例如: MOV K,B:表示将寄存器B中的数据复制到寄存器K中。

直接寻址方式

在此模式下,数据直接从给定地址复制到寄存器。例如: LDB 5000K:表示将地址5000K处的数据复制到寄存器B。

间接寻址方式

在这种模式下,数据通过寄存器指向的地址从一个寄存器传输到另一个寄存器。例如: MOV K、B:表示将数据从寄存器指向的内存地址传送到寄存器K。

隐含寻址模式

该模式不需要任何操作数;数据由操作码本身指定。例如: CMP。

8085 中的中断

中断是外部设备产生的信号,用于请求微处理器执行任务。中断信号有5个,分别是TRAP、RST 7.5、RST 6.5、RST 5.5、INTR。

中断根据其参数分为以下几组 -

  • 向量中断- 在这种类型的中断中,处理器知道中断地址。例如: RST7.5、RST6.5、RST5.5、TRAP。

  • 非向量中断- 在这种类型的中断中,处理器不知道中断地址,因此,中断地址需要由设备外部发送来执行中断。例如: INTR。

  • 可屏蔽中断- 在这种类型的中断中,我们可以通过在程序中写入一些指令来禁用中断。例如: RST7.5、RST6.5、RST5.5。

  • 不可屏蔽中断- 在这种类型的中断中,我们无法通过向程序中写入一些指令来禁用中断。例如:陷阱。

  • 软件中断- 在这种类型的中断中,程序员必须将指令添加到程序中才能执行中断。8085中有8个软件中断,即RST0、RST1、RST2、RST3、RST4、RST5、RST6、RST7。

  • 硬件中断- 8085中有5个中断引脚用作硬件中断,即TRAP、RST7.5、RST6.5、RST5.5、INTA。

- NTA 不是中断,微处理器使用它来发送确认。TRAP 的优先级最高,然后是 RST7.5,依此类推。

中断服务程序 (ISR)

执行时为相应中断源提供服务的小程序或例程称为 ISR。

陷阱

它是不可屏蔽中断,在所有中断中具有最高优先级。默认情况下,它处于启用状态,直到得到确认为止。如果发生故障,它会作为 ISR 执行并将数据发送到备份内存。该中断将控制权转移到地址 0024H。

RST7.5

它是一个可屏蔽中断,在所有中断中具有第二高的优先级。当执行该中断时,处理器将PC寄存器的内容保存到堆栈中并分支到003CH地址。

RST 6.5

它是一个可屏蔽中断,在所有中断中具有第三高的优先级。当执行该中断时,处理器将PC寄存器的内容保存到堆栈中并跳转到0034H地址。

RST 5.5

它是一个可屏蔽中断。当执行该中断时,处理器将PC寄存器的内容保存到堆栈中并跳转到002CH地址。

INTR

它是一个可屏蔽中断,在所有中断中具有最低优先级。可以通过重置微处理器来禁用它。

INTR 信号变高时,可能会发生以下事件 -

  • 微处理器在执行每条指令期间检查INTR信号的状态。

  • 当INTR信号为高电平时,微处理器完成其当前指令并发送低电平有效中断确认信号。

  • 当接收到指令时,微处理器将下一条指令的地址保存在堆栈上并执行接收到的指令。