📜  MVI指令的时序图

📅  最后修改于: 2021-06-28 16:44:16             🧑  作者: Mango

问题–绘制以下代码的时序图,

MVI B, 45 

命令说明–将立即8位数据存储到寄存器或存储器位置。

例如:MVI B,45岁
操作码:MVI
操作数:B是目标寄存器,而45是需要传输到寄存器的源数据。
“ 45”数据将存储在B寄存器中。

算法 –

  • 确定什么是操作码,什么是数据。此处,操作码为“ MVI B”,数据为45。
  • 假定操作码和数据的存储地址。例如:
    MVI B, 452000: Opcode2001: 45
  • 所有指令中的操作码提取均相同。
  • 仅需要在连续的T状态中添加操作码的读取指令。
  • 对于操作码提取,IO / M(低有效)= 0,S1 = 1和S0 =1。此外,从内存中提取操作码将需要4个T状态。
  • 对于操作码读取,IO / M(低电平有效)= 0,S1 = 1和S0 =0。此外,从存储器读取数据仅需要3个T状态。

    在操作码提取(t1-t4 T状态)中–

    • 00 –存储操作码的地址的低位。
    • 20 –存储操作码的地址的高位。
    • ALE –为多路复用地址和数据总线提供信号。仅在t1中,它用作地址总线以获取地址的低位,否则它将用作数据总线。
      RD(低有效)– t1和t4中的信号为1,微处理器未读取任何数据。在t2和t3中,信号为0,微处理器读取数据。
      WR(低有效)–信号始终为1,微处理器不写入任何数据。
      IO / M(低有效)–信号始终为0,正在存储器中执行操作。
      S0和S1 –在t1到t4状态下信号为1,以便从内存中获取操作码。

    在操作码中读取(t5-t7 T状态)–

    • 01 –存储数据的地址的低位。
    • 20 –存储数据的地址的高位。
    • ALE –为多路复用地址和数据总线提供信号。仅在t5中,它用作地址总线以获取地址的低位,否则它将用作数据总线。
      RD(低有效)– t5中的信号为1,因为微处理器未读取任何数据。由于微处理器读取了数据,因此在t6和t7中信号为0。
      WR(低有效)–信号始终为1,微处理器不写入任何数据。
      IO / M(低有效)–信号始终为0,正在存储器中执行操作。
      S0 –信号始终为0,正在对存储器执行操作以读取数据45。
      S1 –信号始终为1,正在对存储器执行操作以读取数据45。