<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

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

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

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

          符號(hào)說(shuō)明

          本文引用地址:http://www.ex-cimer.com/article/201611/319697.htm

          號(hào) 說(shuō)


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

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

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

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

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

          aaaaaaaa 地址位

          bbbbbbbb 表示某個(gè)位的地址

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

          eeeeeeee 8位的相對(duì)地址偏移量


          ACALL addr11


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

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

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

          ACALL SUBRTN

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

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

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

          指令二進(jìn)制編碼: 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)←頁(yè)面地址



          評(píng)論


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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();