久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

專注電子技術(shù)學(xué)習(xí)與研究
當(dāng)前位置:單片機(jī)教程網(wǎng) >> MCU設(shè)計(jì)實(shí)例 >> 瀏覽文章

第11章 棧(X86匯編教程)

作者:51hei   來源:本站原創(chuàng)   點(diǎn)擊數(shù):  更新時(shí)間:2013年12月23日   【字體:


本X86匯編教程目錄 http://m.zg4o1577.cn/mcu/2619.html

    棧,是什么呢?其實(shí)啊,棧,就是一種數(shù)據(jù)放進(jìn)內(nèi)存和從內(nèi)存讀取出來的方法.用棧來操作數(shù)據(jù),幾乎無需自己操心數(shù)據(jù)會(huì)被保存在內(nèi)存的什么地方(不出意外的話.....)

    棧操作內(nèi)存的方法是寫入的時(shí)候把數(shù)據(jù)一個(gè)一個(gè)推進(jìn)去,寫一次推一個(gè)數(shù)據(jù).而提取數(shù)據(jù)當(dāng)然也是一個(gè)一個(gè)提取出來.注意:提取過的數(shù)據(jù)就會(huì)消失(實(shí)際上沒有消失,可以再次提取,但....那還不如直接用正常方式操作內(nèi)存呢..).不像普通內(nèi)存操作可以反復(fù)讀取.棧提供了一種"后進(jìn)先出"的數(shù)據(jù)操作方法.把最后放進(jìn)內(nèi)存的數(shù)據(jù)最先拿出來.這種內(nèi)存操作方法在某些方面會(huì)有巨大的用處.

    使用棧來操作內(nèi)存,先在內(nèi)存中定義一個(gè)位置,作為"棧頂",這個(gè)定義的方法也沒啥,直接把你要作為棧頂?shù)膬?nèi)存地址寫進(jìn)SS:SP寄存器即可.這2個(gè)寄存器就是"棧頂指針寄存器組合" (一般系統(tǒng)會(huì)自動(dòng)定義棧頂,無需自己操作,所以這步可以跳過,知道SS:SP寄存器的作用即可.)

    我們用堆棧往內(nèi)存里面推入數(shù)據(jù)之后,棧頂就會(huì)移動(dòng)(自動(dòng)的喲!).所以不用擔(dān)心會(huì)把曾經(jīng)推進(jìn)堆棧的數(shù)據(jù)覆蓋(當(dāng)然,你可別因?yàn)檫@樣就拼命往堆棧里邊壓數(shù)據(jù)...內(nèi)存會(huì)爆掉的[=_=0])

    CPU用堆棧操作內(nèi)存的步驟:

            數(shù)據(jù)入棧:

            1:往內(nèi)存的[SS:SP]寫入數(shù)據(jù)

            2:新的SP寄存器值=SP寄存器值-入棧數(shù)據(jù)的長度(單位:字節(jié),一般是字形數(shù)據(jù).也就是2個(gè)字節(jié))

            數(shù)據(jù)出棧:

            1:SP寄存器值+出棧數(shù)據(jù)的長度(同上個(gè)括號(hào))

            2:在[SS:SP]讀取數(shù)據(jù)

    然后,用棧操作指令就能把數(shù)據(jù)推進(jìn)棧里,或從棧里把數(shù)據(jù)弄出來....


 指令名                :PUSH
操作數(shù)數(shù)量         :1
 操作數(shù)名             :數(shù)據(jù)
 指令用途             :把一個(gè)數(shù)據(jù)推進(jìn)棧里,可以是直接數(shù),也可以是寄存器或內(nèi)存地址(內(nèi)存地址的話需要指定推進(jìn)堆棧里的數(shù)據(jù)長度)

 指令名                :POP
操作數(shù)數(shù)量         :1
操作數(shù)名             :存放數(shù)據(jù)的地方
指令用途             :把一個(gè)數(shù)據(jù)從堆棧里提取出來.可以放到寄存器或內(nèi)存地址里.(此處內(nèi)容同上面那個(gè)括號(hào))
實(shí)例:
PUSH AX;把AX里面的數(shù)據(jù)推進(jìn)堆棧里
POP BX;把最后推進(jìn)堆棧的數(shù)據(jù)讀取出來放進(jìn)BX
內(nèi)存地址實(shí)例:
PUSH WORD [DS:0];那個(gè)WORD就是用來指定數(shù)據(jù)長度的,字形(WORD)為2個(gè)字節(jié)
POP DWORD [DS:0];4個(gè)字節(jié)出棧

 
本章就到這里,作業(yè):把4個(gè)通用寄存器[AX BX CX DX]都?jí)簵T偃』匕?

 

關(guān)閉窗口

相關(guān)文章

主站蜘蛛池模板: 另类ts人妖一区二区三区 | 一本色道久久综合亚洲精品酒店 | www黄色| 欧美一区二区视频在线观看 | 亚洲成av| 国产欧美在线 | 日本在线天堂 | 国产精品日韩在线 | 一区二区三区不卡视频 | 超碰在线免费 | 91三级视频| 成人手机在线观看 | 天天操综合 | 在线一区二区三区 | 在线观看av不卡 | 国产精品视频免费 | 毛片www | 成人国产精品 | 国产欧美久久久 | 国产精品久久久久久久午夜 | 精品在线一区二区 | 亚洲日本视频 | 日韩欧美国产成人 | 国产一区在线视频 | 日韩在线精品视频 | 久久久精彩视频 | 亚洲一二区 | 黄色片一区二区 | 伊人国产精品 | 亚洲国产日韩在线 | 一级黄色性生活片 | 精品在线免费视频 | 国产午夜精品久久 | 国产区免费 | 九九热在线播放 | 五月天丁香| 韩国av免费| 日韩精品免费看 | 黄色成人小视频 | 国产日韩在线视频 | 国产精品日韩欧美 |