8085 微處理器中的記憶體讀取 (MR) 機器週期


“MOV C, M”指令中的最後三個時鐘週期是記憶體讀取機器週期的示例。記憶體讀取機器週期的波形如下所示

 

指令
操作
地址暫存器
LDA 1234H
將 W 載入為 12H(或 Z 載入為 34H)
程式計數器 (PC)
POP B
從堆疊頂部彈出資訊
堆疊指標 (SP)
MOV C, M
從 HL 指向的記憶體中載入 A
HL
LDAX B
從 BC 指向的記憶體中載入 A
BC
LDAX D
從 DE 指向的記憶體中載入 A
DE
LDA 1234H
從記憶體位置 1234H 載入 A
WZ

 

在記憶體讀取機器週期期間,接收到的暫存器中的資料取決於指令內的 MR 機器週期,如下所示。其中“r”代表任何暫存器 A、B、C、D、E、H 或 L。

 

指令
操作
資料暫存器
MOV r, M
從 HL 指向的記憶體中載入 r
R
POP PSW
從堆疊頂部載入標誌
標誌
MVI M, 25H
從記憶體中載入 Temp 為 25H
Temp


示例

“MVI M, 25H”指令的執行。假設在位置 C002H,我們有 36H,它是指令“MVI M, ABH”的操作碼。這裡需要十個時鐘週期來完成操作碼獲取、解碼和執行。前四個時鐘週期構成操作碼獲取機器週期,接下來的三個時鐘週期將是記憶體讀取機器週期,最後的三個時鐘週期將是記憶體寫入機器週期。

除了地址資訊外,以下狀態訊號還在 T1 期間由控制單元啟用。

  • ALE = 1,表示地址存在於 AD7-0 上;

  • IO/M* = 0,表示地址僅指定給記憶體;

  • S1 = 0,S0 = 1,表示它是記憶體寫入機器週期。

以下是指令執行的詳細說明 -

在 8085 指令集中,此指令 MVI M, d8 用於將 HL 對指向的記憶體位置直接載入一個 8 位值。此指令使用立即定址來指定資料。它在記憶體中佔用 2 個位元組。

助記符,運算元 
操作碼(十六進位制)
位元組
MVI M, Data
36
2

 

例如,我們可以考慮 MVI M, ABH 作為此類指令的示例。它是一個 2 位元組指令,MVI M 的操作碼佔用一個位元組,ABH 佔用另一個位元組。我們假設 HL 暫存器對包含 16 位地址 4050H,並且該地址的內容最初為 CDH。因此,在執行指令後,更新的值將為 -

 
之前
之後
(HL)
(4050)
(4050)
(4050)
CDH
ABH

 表格如下所示

地址
十六進位制程式碼
助記符
註釋
2006
36
MOV M, ABH
HL 暫存器對指向的記憶體位置的內容將被 ABH 更新
2007
AB
 
運算元 ABH

 

讓我們檢查此指令 MVI M, ABH 的時序圖

 

總結:因此,此指令 MVI M, ABH 需要 2 個位元組、3 個機器週期(操作碼獲取、記憶體讀取、記憶體寫入)和 10 個 T 狀態才能執行,如時序圖所示。

 

更新於: 2019-07-30

7K+ 次檢視

啟動您的 職業生涯

透過完成課程獲得認證

開始學習
廣告
© . All rights reserved.