8085微處理器指令型別SHLD a16
在8085指令集中,SHLD是一個助記符,代表使用直接定址將HL暫存器對儲存到記憶體位置,其16位地址表示為a16。由於需要儲存HL暫存器對,因此必須將其儲存到從地址a16開始的兩個連續位置。我們知道H和L是8位暫存器。因此,它們的內容將儲存在兩個連續的記憶體位置中,因為每個記憶體位置可以儲存8位資料。此指令使用絕對定址模式來指定目標地址。它在記憶體中佔用3個位元組。
助記符,運算元 | 操作碼(十六進位制) | 位元組數 |
---|---|---|
SHLD 地址 | 22 | 3 |
讓我們考慮SHLD 4050H作為此型別的一個示例指令。它是一個3位元組指令,因此佔用3個連續的記憶體位置。讓我們假設H和L暫存器最初的內容分別為BBH和AAH。4050H和4051H記憶體位置分別儲存資料CCH和DDH。因此,執行指令SHLD 4050H後,4050H和4051H記憶體位置的內容將分別為AAH和BBH。以下是用於更好地理解的跟蹤表。
之前 | 之後 | |
---|---|---|
(H) | BBH | BBH |
(L) | AAH | AAH |
(4050H) | CCH | AAH |
(4051H) | DDH | BBH |
地址 | 十六進位制程式碼 | 助記符 | 註釋 |
---|---|---|---|
200B | 22 | SHLD 4050H | 將HL暫存器對的內容分別儲存到記憶體位置4050H和4051H。 |
200C | 50 | 地址的低位位元組 | |
200D | 40 | 地址的高位位元組 |
請注意,8085中沒有像SBCD a16和SDED a16這樣的指令。由於HL暫存器對是最重要的暫存器對,其內容可以透過多種方式儲存到記憶體中,比其他任何暫存器對都要多。
讓我們考慮指令SHLD 4050H執行的時序圖。

總結 − 因此,此指令SHLD 4050H需要3個位元組、5個機器週期(操作碼獲取、記憶體讀取、記憶體讀取、記憶體寫入、記憶體寫入)和16個T狀態才能執行,如時序圖所示。
廣告