8085微處理器指令型別SBB R


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

Compl

在上面的例子中,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

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

更新於:2019年7月30日

4K+ 次瀏覽

啟動你的職業生涯

完成課程獲得認證

開始學習
廣告