浓毛老太交欧美老妇热爱乱,蜜臀性色av免费,妺妺窝人体色www看美女,久久久久久久久久久大尺度免费视频,麻豆人妻无码性色av专区

位置:51電子網(wǎng) » 技術(shù)資料 » 汽車電子

子程序調(diào)用與返回指令

發(fā)布時間:2014/6/5 21:10:51 訪問次數(shù):2626

   1.絕對調(diào)用

   絕對調(diào)用指令A(yù)CALL是一條兩字節(jié)指令, AD536AJDZ指令提供了11位目標(biāo)地址addrll,所以和前面AJMP指令相似,其調(diào)用地址必須與ACALL指令的下一條指令首字節(jié)位于程序存儲器的同一個2KB區(qū)內(nèi)。ACALL指令與AJMP指令不同的是它需要保存子程序的返回地址,

而AJMP指令不用。

   指令執(zhí)行過程是:執(zhí)行ACALL指令時,PC+2后獲得了下一條指令的地址,然后把PC的當(dāng)前值壓棧(棧指針SP加l,PC低字節(jié)進(jìn)棧,SP再加l,PC高字節(jié)進(jìn)棧)。最后把PC的高5位和指令給出的11位地址addrll連接組成16位目標(biāo)地址(PCis~11aio~ao),并作為

子程序入口地址送入PC中,使CPU轉(zhuǎn)向執(zhí)行子程序。因此,所調(diào)用的子程序入口地址必須和ACALL揩令下一條指令的第一個字節(jié)在同一個2KB區(qū)域的程序存儲器空間,否則就調(diào)用不到了。

   2.長調(diào)用指令

   LCALL addr16(長調(diào)用指令)

    可以在64KB程序存儲器內(nèi)調(diào)用子程序的指令,它是三字節(jié)指令。指令執(zhí)行過程是:把PC加3獲得的下一條指令的地址進(jìn)棧(先壓入低字節(jié),后壓入高字節(jié)),進(jìn)棧操作使SP加l兩次。接著把指令的第二和第三字節(jié)(a15~a8,a7~ao)分別裝入PC的高位和低位字節(jié)中,然后從該地址addr16(ais~a o)開始執(zhí)行子程序。

   3.子程序返回

   這條返回指令的功能是從堆棧中取出斷點(diǎn)地址,送給PC,并從斷點(diǎn)處開始繼續(xù)執(zhí)行程序。RET應(yīng)放在一般子程序的末尾。

   4.中斷返回   

   這條返回指令的功能也是從堆棧中取出斷點(diǎn)地址,送給PC,并從斷點(diǎn)處開始繼續(xù)執(zhí)行程序。RETI應(yīng)放在中斷服務(wù)子程序的末尾。在執(zhí)行RETI指令時,還將清除MCS-51中斷響應(yīng)時所置位的優(yōu)先級狀態(tài)觸發(fā)器,開放中斷邏輯,使得已申請的較低級中斷源可以響應(yīng)。且必須在RETI指令執(zhí)行完之后,至少要再執(zhí)行一條指令才能響應(yīng)這個中斷。



   1.絕對調(diào)用

   絕對調(diào)用指令A(yù)CALL是一條兩字節(jié)指令, AD536AJDZ指令提供了11位目標(biāo)地址addrll,所以和前面AJMP指令相似,其調(diào)用地址必須與ACALL指令的下一條指令首字節(jié)位于程序存儲器的同一個2KB區(qū)內(nèi)。ACALL指令與AJMP指令不同的是它需要保存子程序的返回地址,

而AJMP指令不用。

   指令執(zhí)行過程是:執(zhí)行ACALL指令時,PC+2后獲得了下一條指令的地址,然后把PC的當(dāng)前值壓棧(棧指針SP加l,PC低字節(jié)進(jìn)棧,SP再加l,PC高字節(jié)進(jìn)棧)。最后把PC的高5位和指令給出的11位地址addrll連接組成16位目標(biāo)地址(PCis~11aio~ao),并作為

子程序入口地址送入PC中,使CPU轉(zhuǎn)向執(zhí)行子程序。因此,所調(diào)用的子程序入口地址必須和ACALL揩令下一條指令的第一個字節(jié)在同一個2KB區(qū)域的程序存儲器空間,否則就調(diào)用不到了。

   2.長調(diào)用指令

   LCALL addr16(長調(diào)用指令)

    可以在64KB程序存儲器內(nèi)調(diào)用子程序的指令,它是三字節(jié)指令。指令執(zhí)行過程是:把PC加3獲得的下一條指令的地址進(jìn)棧(先壓入低字節(jié),后壓入高字節(jié)),進(jìn)棧操作使SP加l兩次。接著把指令的第二和第三字節(jié)(a15~a8,a7~ao)分別裝入PC的高位和低位字節(jié)中,然后從該地址addr16(ais~a o)開始執(zhí)行子程序。

   3.子程序返回

   這條返回指令的功能是從堆棧中取出斷點(diǎn)地址,送給PC,并從斷點(diǎn)處開始繼續(xù)執(zhí)行程序。RET應(yīng)放在一般子程序的末尾。

   4.中斷返回   

   這條返回指令的功能也是從堆棧中取出斷點(diǎn)地址,送給PC,并從斷點(diǎn)處開始繼續(xù)執(zhí)行程序。RETI應(yīng)放在中斷服務(wù)子程序的末尾。在執(zhí)行RETI指令時,還將清除MCS-51中斷響應(yīng)時所置位的優(yōu)先級狀態(tài)觸發(fā)器,開放中斷邏輯,使得已申請的較低級中斷源可以響應(yīng)。且必須在RETI指令執(zhí)行完之后,至少要再執(zhí)行一條指令才能響應(yīng)這個中斷。



熱門點(diǎn)擊

 

推薦技術(shù)資料

頻譜儀的解調(diào)功能
    現(xiàn)代頻譜儀在跟蹤源模式下也可以使用Maker和△Mak... [詳細(xì)]
版權(quán)所有:51dzw.COM
深圳服務(wù)熱線:13751165337  13692101218
粵ICP備09112631號-6(miitbeian.gov.cn)
公網(wǎng)安備44030402000607
深圳市碧威特網(wǎng)絡(luò)技術(shù)有限公司
付款方式


 復(fù)制成功!