8085微處理器程式設計師視角
Intel 8085從記憶體或位於微處理器內部的輸入埠接收AD7-0上的8位資訊,這些資訊透過“暫存器”儲存。暫存器是一組觸發器,每個觸發器可以儲存一位資訊。為了儲存8位資訊,8085中暫存器的尺寸必須為8位。
與記憶體位置相比,暫存器的優勢在於微處理器可以更快地訪問暫存器的內容,而記憶體位置的內容訪問速度則相對較慢。
然而,與記憶體位置相比,暫存器也存在以下缺點。
如果暫存器過多,它們會佔用晶片上的大量空間,從而減少控制單元和算術邏輯單元的可用空間。
在涉及暫存器運算元的指令中,可用於指定操作的位數會減少,從而減少可能的指令數量。
例如,讓我們考慮以下程式段示例 -
在8085指令集中,有四條指令屬於LXI rp, d16型別。這些指令用於將16位地址載入到暫存器對中。我們可以使用此指令使用儲存在暫存器對rp中的記憶體地址從記憶體位置載入資料。例如,如果指令是LXI H, FE50。這意味著FE50載入到HL暫存器對中。
rp可以是BC、DE、HL或SP。
LXI指令及其十六進位制程式碼如下所示。
助記符,運算元 | 操作碼(十六進位制) | 位元組 |
---|---|---|
LXI B | 01 | 3 |
LXI D | 11 | 3 |
LXI H | 21 | 3 |
LXI SP | 31 | 3 |
示例
在此示例中,我們可以看到LXI指令如何將16位資料載入到暫存器對中。
將56FE載入到DE暫存器對中,將ABCD載入到HL暫存器對中,交換DE和HL的內容。並將DE暫存器對的內容儲存到8050和8051H位置。
地址 | 十六進位制程式碼 | 助記符 | 註釋 |
---|---|---|---|
8000 | 11 FE 56 | LXI D, 56FEH | 將56FEH儲存到DE暫存器對中。 |
8003 | 21 CD AB | LXI H, ABCDH | 將ABCDH儲存到HL暫存器對中。 |
8006 | EB | XCHG | 交換DE和HL的內容 |
8007 | 21 50 80 | LXI H, 8050H | 將8050H載入到HL對中以儲存結果。 |
800A | 72 | MOVM, D | 將暫存器D的內容儲存到記憶體位置。 |
800B | 23 | INX H | 將HL指向下一個源位置 |
800C | 73 | MOV M, E | 將暫存器E的內容儲存到記憶體位置。 |
800D | 76 | HLT | 停止 |
輸出
地址 | 值 |
---|---|
8050H | AB |
8051H | CD |
以下是指令LXI D, 56FEH的時間圖
總結 - 因此,此指令LXI D, 56FEH需要3個位元組、3個機器週期(操作碼獲取、記憶體讀取、記憶體讀取)和10個T狀態才能執行,如時間圖所示。
廣告