8085 中的 RIM 指令


在 8085 指令集中,读取中断掩码。这是一个 1 字节的多用途指令。它用于以下目的。

  • 检查 RST7.5、RST6.5 和 RST5.5 是否被屏蔽;

  • 检查中断是否启用;

  • 检查 RST7.5、RST6.5 或 RST5.5 中断是否挂起;

  • 执行串行数据输入。


助记符,操作数
操作码(十六进制)
字节
RIM
20
1


为了获取关于中断系统的状态信息,读取中断掩码指令提供了关于中断系统的信息,并且该指令可以用于串行数据输入。通过这个 RIM 指令,8085 可以知道哪个中断被屏蔽或未屏蔽等。执行 RIM 指令后累加器的內容提供了这些信息。

因此,执行读取中断掩码指令后,查看累加器的內容至关重要。执行读取中断掩码后累加器的各个位的含义如下图所示:

中断的掩码状态:累加器的低 3 位用于提供中断的掩码状态。请注意,它们不用于屏蔽或取消屏蔽。屏蔽或取消屏蔽必须使用读取中断掩码指令。

位号
用途
位 0
这是 RST5.5 掩码 (M5.5) 位。
  • 如果 M5.5 = 1,则表示 RST5.5 中断已被屏蔽。

  • 如果 M5.5 = 0,则 RST5.5 中断未被屏蔽。

位 1
这是 RST6.5 掩码 (M6.5) 位。
  • 如果 M6.5 = 1,则表示 RST 6.5 中断已被屏蔽。

  • 如果 M6.5 = 0,则 RST 6.5 中断未被屏蔽。

位 2
这是 RST7.5 掩码 (M7.5) 位。
  • 如果 M7.5 = 1,则表示 RST 7.5 中断已被屏蔽。

  • 如果 M7.5 = 0,则 RST7.5 中断未被屏蔽。

中断启用 (IE) 状态:累加器的位 3 在执行读取中断掩码指令后提供 IE 触发器的状态。

  • 如果 IE = 1,则表示中断系统已启用。如果在执行 RIM 指令之前执行了 EI 指令,则会出现这种情况。

  • 如果 IE = 0,则表示中断系统已禁用。如果在执行 RIM 指令之前发生了以下情况之一,则会出现这种情况。

  • 执行了 DI 指令

  • Intel 8085 已复位

  • Intel 8085 已进入中断服务子程序。

让我们在下面的表格中查看其他状态位:

位号
用途
位 4
这是中断挂起 RST5.5 (IP5.5) 位。
  • 如果 IP5.5 = 1,则表示 RST5.5 中断正在挂起,等待服务。当 RST5.5 中断引脚被激活,但 RST5.5 被屏蔽,或中断系统被禁用时,就会出现这种情况。

  • 如果 IP5.5 = 0,则 RST5.5 中断未挂起。

位 5
这是中断挂起 RST6.5 (IP6.5) 位。
  • 如果 IP6.5 = 1,则表示 RST6.5 中断正在挂起,等待服务。

  • 如果 IP6.5 = 0,则 RST6.5 中断未挂起。

位 6
这是中断挂起 RST7.5 (IP7.5) 位。
  • 如果 IP7.5 = 1,则表示 RST7.5 中断正在挂起,等待服务。

  • 如果 IP7.5 = 0,则 RST7.5 中断未挂起。

8085 微处理器有一个标记为串行输入数据的引脚。这对于串行数据通信是必需的。微处理器可以在每个时钟脉冲读取 1 位信息。因此,当执行 RIM 指令时,累加器的最高位接收 8085 的 SID 引脚上的数据。鉴于此,执行 RIM 指令后,累加器位 7 的含义如下:

位号
用途
位 7
这是 SID 位。执行 RIM 指令后,8085 的 SID 引脚上的数据将
加载到此位位置。


让我们讨论一下 8085 的各种中断的详细信息,总结如下表所示。

引脚
优先级
中断服务子程序地址
灵敏度
条件
TRAP
最高
0024H
上升沿和高电平
无条件
RST7.5
第二
003CH
上升沿
未屏蔽且 EI
RST6.5
第三
0034H
高电平
未屏蔽且 EI
RST5.5
第四
002CH
高电平
未屏蔽且 EI
INTR
最低
由外部设备提供
高电平
EI


让我们考虑以下程序段:

地址
十六进制代码
助记符
注释
2000
3E
MVI A, 19H
A ← 19H =0001 1001,这意味着 SOD=0,SDE=0,R7.5=1,MSE=1,M5.5=1
2001
19


累加器值 19H
2002
30
SIM
设置中断掩码
2003
20
RIM
读取中断掩码。如果累加器获得值 01H,则表示 SID=0,I7.5=0,I6.5=0,I5.5=0,IE=0,M7.5=0,M6.5=0 和 M5.5=1


此指令读取中断掩码执行的时序图如下所示:

**总结** − 所以这个读取中断掩码指令需要 1 个字节、1 个机器周期(操作码获取)和 4 个 T 状态来执行,如时序图所示。

更新于:2020年6月27日

5K+ 浏览量

启动您的职业生涯

完成课程获得认证

开始学习
广告