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。
不可屏蔽中断 − 在这种类型的中断中,我们不能通过在程序中写入一些指令来禁用中断。例如: TRAP。
软件中断 − 在这种类型的中断中,程序员必须将指令添加到程序中才能执行中断。 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。
TRAP
它是一个不可屏蔽中断,在所有中断中具有最高优先级。默认情况下,它会被启用,直到得到确认。如果发生故障,它会作为 ISR 执行并将数据发送到备份内存。此中断将控制权转移到位置 0024H。
RST7.5
它是一个可屏蔽中断,在所有中断中具有第二高的优先级。执行该中断时,处理器将PC寄存器的内容保存到堆栈中,并跳转到003CH地址。
RST 6.5
这是一个可屏蔽中断,在所有中断中具有第三高的优先级。执行该中断时,处理器将PC寄存器的内容保存到堆栈中,并跳转到0034H地址。
RST 5.5
这是一个可屏蔽中断。执行该中断时,处理器将PC寄存器的内容保存到堆栈中,并跳转到002CH地址。
INTR
这是一个可屏蔽中断,在所有中断中具有最低的优先级。可以通过重置微处理器来禁用它。
当INTR信号变高时,可能会发生以下事件 −
微处理器在执行每条指令期间检查 INTR 信号的状态。
当 INTR 信号为高时,微处理器完成其当前指令并发送低电平有效中断确认信号。
当收到指令时,微处理器将下一条指令的地址保存在堆栈上并执行收到的指令。