您的位置:網(wǎng)站首頁 > 電器維修資料網(wǎng) > 正文 >
單片機堆棧操作指令
來源: 日期:2013-11-17 19:40:18 人氣:標簽:
在計算機領(lǐng)域,堆棧是一個不容忽視的概念,但是很多人甚至是計算機專業(yè)的人也沒有明確堆棧其實是兩種數(shù)據(jù)結(jié)構(gòu)。堆棧都是一種數(shù)據(jù)項按序排列的數(shù)據(jù)結(jié)構(gòu),只能在一端(稱為棧頂(top))對數(shù)據(jù)項進行插入和刪除。要點:堆,順序隨意。棧,后進先出(Last-In/First-Out)。
單片機堆棧操作指令如下:
PUSH direct(堆棧指令)其作用是先將棧指針SP的內(nèi)容加1,然后將直接尋址單元中的數(shù)壓入到sP所指的單元中。若數(shù)據(jù)已入棧,則SP指向 后堆人數(shù)據(jù)所在的存儲單元(即指向棧頂)。
POP direct(出棧指令)其作用是先將棧指針SP所指出單元的內(nèi)容送入直接尋址單元中,然后將棧指針SP的內(nèi)容減1,此時SP指向新的棧頂。
使用堆棧時,一般需設(shè)定SP的初始值。堆棧原則上可以設(shè)在內(nèi)部RAM的任意區(qū)域,但為使用方便,一般設(shè)在30H~7FH。另外,需注意留出足夠的存儲單元作棧區(qū),否則可能發(fā)生數(shù)據(jù)重疊,引起程序混亂。
由于入棧的第一個數(shù)必須存放在SP+1的存儲單元,故實際棧頂是在SP+1所指出的單元。
【看看這篇文章在百度的收錄情況】