新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 8051單片機指令定義詳解——ACALL addr11(1)

8051單片機指令定義詳解——ACALL addr11(1)

作者: 時間:2016-11-22 來源:網(wǎng)絡(luò) 收藏
8051單片機指令定義詳解——(ACALL addr11)

符號說明

本文引用地址:http://m.butianyuan.cn/article/201611/319697.htm


表示數(shù)據(jù)傳送方向

() 表示單元的內(nèi)容

(()) 表示間接尋址的內(nèi)容

rrr 8個工作寄存器之一;000=R0,001=R1等

dddddddd 數(shù)據(jù)位

aaaaaaaa 地址位

bbbbbbbb 表示某個位的地址

i 通過R0(i=0)或R1(i=1)間接尋址

eeeeeeee 8位的相對地址偏移量


ACALL addr11


功能:絕對調(diào)用。

說明:ACALL指令實現(xiàn)無條件調(diào)用位于addr11參數(shù)所表示地址的子例程。在執(zhí)行該指令時,首先將PC的值增加2,即使得PC指向ACALL的下一條指令,然后把16位PC的低8位和高8位依次壓入棧,同時把棧指針兩次加1.然后,把當(dāng)前PC值的高5位、ACALL指令第一字節(jié)的7~5位和第2字節(jié)組合起來,得到一個16位目的地址,該地址即為即將調(diào)用的子例程的入口地址。要求該子例程的起始地址必須與緊隨ACALL之后的指令處于同1個2KB的程序存儲頁中。ACALL指令在執(zhí)行時不會改變各個標(biāo)志位。

示例:SP的初始值為07H,標(biāo)號SUBRTN位于程序存儲器的0345H地址處,如果執(zhí)行位于地址0123H處的指令:

ACALL SUBRTN

那么SP變?yōu)?9H,內(nèi)部RAM地址08H和09H單元的內(nèi)容分別為25H和01H,PC值變?yōu)?345H。

指令長度(字節(jié)數(shù)): 2

指令執(zhí)行周期: 2

指令二進制編碼: aaa10001aaaaaaaa

注意:aaa是11位目標(biāo)地址addr11的A10~A8位,aaaaaaaa是addr11的A7~A0位。

指令的操作:

(PC)←(PC)+2

(SP)←(SP)+1

((SP))←(PC7—PC0)

(SP)←(SP)+1

((SP))←(PC15—PC8)

(PC10—PC0)←頁面地址



關(guān)鍵詞: 8051單片機指令定義詳

評論


技術(shù)專區(qū)

關(guān)閉