8085微處理器指令型別SBB R
在8085指令集中,SBB R是用於多位元組減法的助記符。讓我們考慮以下關於這種減法的例子

在上面的例子中,62H和F1H的減法結果為71H,借位為1。接下來,我們必須從44H中減去13H以及這個借位值1。在上面的追蹤中,我們向您展示了內部計算是如何進行的。現在在8085中,為了方便這種操作,提供了SBB指令來減去兩個數字以及借位值。
SBB是一個助記符,代表“帶借位的減法”(SuBtract with Borrow),“R”代表以下7個暫存器中的任何一個,以及HL暫存器對指向的記憶體位置M。
R = A, B, C, D, E, H, L, or M
此指令用於計算從累加器內容中減去R暫存器的內容以及進位(借位)值。減法的結果將儲存在累加器中,替換累加器的初始值。由於R可以有八個值中的任何一個,因此這種型別的指令有八個操作碼。它在記憶體中只佔用1個位元組。
助記符,運算元 | 操作碼(十六進位制) | 位元組數 |
---|---|---|
SBB A | 9F | 1 |
SBB B | 98 | 1 |
SBB C | 99 | 1 |
SBB D | 9A | 1 |
SBB E | 9B | 1 |
SBB H | 9C | 1 |
SBB L | 9D | 1 |
SBB M | 9E | 1 |
讓我們考慮SBB E作為這種型別的指令示例。因為它是一個1位元組指令,所以它將佔用單個記憶體位置。假設累加器的初始內容是44H,E暫存器的初始內容是13H,Cy設定為1。下面在追蹤表中顯示了執行此指令SBB E的結果
之前 | 之後 | |
---|---|---|
(E) |
13H | 13H |
(A) |
44H | 30H |
(標誌) |
Cy=1,其他標誌位=任意值 | Cy=0,AC=1,S=0,P=1,Z=0 |
地址 | 十六進位制程式碼 | 助記符 | 註釋 |
---|---|---|---|
2005 | 9B | SBB E | A暫存器 = A暫存器 – E暫存器 – 1 |
指令SBB E的時序圖如下

總結 − 因此,此指令SBB E需要1位元組、1個機器週期(操作碼獲取)和4個T狀態才能執行,如時序圖所示。
廣告