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

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

更新於:2019年7月30日

瀏覽量9K+

啟動你的職業生涯

完成課程獲得認證

開始學習
廣告