• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            天下

            記錄修行的印記

            匯編學(xué)習(xí)筆記1


            運行時棧是由CPU直接管理的內(nèi)存數(shù)組,它使用兩個寄存器:SS和ESP (Extended stack pointer)。
            在保護模式下,SS寄存器存放的是段選擇器,用戶模式程序不應(yīng)對其進行修改。
            ESP寄存器存放的是指向堆棧內(nèi)特定位置的一個32位偏移值。它指向最后壓入(或添加)到堆棧上的數(shù)據(jù).
            我們很少需要直接操縱ESP的值,相反,ESP寄存器的值通常是由CALL,RET,PUSH和POP等指令間接修改的。

            壓棧操作
            32位的壓棧操作(PUSH)操作將使ESP的值減4,并將值拷貝到堆棧指針所指向的位置.
            出棧操作
            32位的出棧(POP)操作從堆棧頂端移走一個值,并將值置于寄存器或變量中,在值從棧頂彈出之后,ESP的值加4.

            PROC偽指令
            定義子過程的偽指令,以RET語句結(jié)束的命名語句塊.

            proc_name PROC
                param1:DWORD,        ;參數(shù)1
                param2:PTR BYTE,    ;參數(shù)2
                param3:PTR WORD    ;參數(shù)3
                LOCAL localvar1:BYTE    ;局部變量1
                LOCAL localvar2:WORD    ;局部變量2
                ;.
                RET    
                ;..
                RET    ;(
            return from procedure)以強制CPU返回到過程被調(diào)用的地方
            proc_name ENDP

            CALL指令
            CALL指令將返回地址(通常是CALL指令的下一條指令,CALL指令的機器碼需要5字節(jié))壓入堆棧并將被調(diào)用過程的地址拷貝到指令指針寄存器EIP中,當過程返回時,RET指令從堆棧中彈出地址并送到指令指針寄存器中(ESP所指向堆棧值被彈出并送到EIP).
            CPU總是執(zhí)行指令指針寄存器EIP所指向的內(nèi)存地址處的指令.

            RET指令
            在32位保護模式下
            CPU執(zhí)行RET指令時,相當于進行:
            pop EIP

            CPU執(zhí)行RET N指令時,這里N是一個自然數(shù),相當于進行:
            pop EIP
            add ebp,N


            局部標號和全局標號

            局部標號(以單個冒號結(jié)尾)在過程中使用.
            全局標號(以兩個冒號結(jié)尾)在全局使用.

            LOCAL 偽指令
            LOCAL偽指令在過程中聲明一個或多個局部變量
            LOCAL 變量名:類型

            如:
            MySub    PROC
                LOCAL var1:BYTE
                LOCAL var2:WORD
                ;.
                RET
            MySub ENDP

            posted on 2011-11-04 16:34 天下 閱讀(401) 評論(0)  編輯 收藏 引用 所屬分類: 匯編語言

            <2011年11月>
            303112345
            6789101112
            13141516171819
            20212223242526
            27282930123
            45678910

            導(dǎo)航

            統(tǒng)計

            常用鏈接

            留言簿(4)

            隨筆分類(378)

            隨筆檔案(329)

            鏈接

            最新隨筆

            搜索

            最新評論

            亚洲综合久久综合激情久久| 人妻系列无码专区久久五月天| 久久久久久国产精品免费无码 | 伊人久久大香线蕉综合网站| 国产成人综合久久精品红| 久久精品人成免费| 中文精品久久久久人妻不卡| 久久青青草原精品国产软件| 精品久久人人妻人人做精品| 国产激情久久久久影院小草| 少妇熟女久久综合网色欲| 国产精品久久国产精品99盘| 亚洲国产精品无码久久一线| 久久久一本精品99久久精品88| 亚洲一区二区三区日本久久九| 青草国产精品久久久久久| 伊人色综合久久天天网| 中文字幕乱码久久午夜| 婷婷久久五月天| 99久久99久久精品免费看蜜桃| 粉嫩小泬无遮挡久久久久久| 国产成人久久精品二区三区| 色婷婷噜噜久久国产精品12p| 欧美精品福利视频一区二区三区久久久精品 | 精产国品久久一二三产区区别| 久久精品极品盛宴观看| 精品久久久久久亚洲| 中文成人无码精品久久久不卡| 久久久无码人妻精品无码| 精品久久人人做人人爽综合| 国产成年无码久久久免费| 激情五月综合综合久久69| 人妻精品久久无码区| 久久久精品国产Sm最大网站| 亚洲综合伊人久久综合| 国产A级毛片久久久精品毛片| 精品熟女少妇av免费久久| 久久久久久国产精品无码下载| 久久亚洲欧洲国产综合| 色婷婷久久综合中文久久一本| 人妻精品久久久久中文字幕|