• <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>

            天下

            記錄修行的印記

            匯編學習筆記1


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

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

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

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

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

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

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


            局部標號和全局標號

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

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

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

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

            <2012年5月>
            293012345
            6789101112
            13141516171819
            20212223242526
            272829303112
            3456789

            導航

            統計

            常用鏈接

            留言簿(4)

            隨筆分類(378)

            隨筆檔案(329)

            鏈接

            最新隨筆

            搜索

            最新評論

            国产成人精品综合久久久| 2020久久精品亚洲热综合一本 | 无码人妻精品一区二区三区久久 | 99久久精品九九亚洲精品| 精品久久久久久久久久久久久久久| 久久亚洲高清观看| 久久婷婷午色综合夜啪| 国产精品久久久久jk制服| 国内精品久久久久久不卡影院| 久久亚洲AV无码西西人体| 99久久免费国产精品特黄| 亚洲国产成人久久综合碰碰动漫3d| 久久e热在这里只有国产中文精品99| 久久人人爽人人人人爽AV| 国产精品久久久久aaaa| 久久人人爽人人爽人人片av麻烦| 国产精品久久精品| 国产偷久久久精品专区| 久久久久亚洲AV无码去区首| 无码人妻久久一区二区三区免费丨| 国产精品99久久不卡| 国产精品女同久久久久电影院| 久久99精品国产99久久6| 久久国产色AV免费观看| 久久99久国产麻精品66| 久久成人18免费网站| 精品久久久久久久| 久久精品aⅴ无码中文字字幕重口 久久精品a亚洲国产v高清不卡 | 亚洲狠狠婷婷综合久久久久| 久久人人超碰精品CAOPOREN | 久久久久久国产精品美女| 国产精品99久久久久久www| 国内精品久久久久影院一蜜桃| 国产精品亚洲综合久久| 久久最新免费视频| 久久亚洲AV永久无码精品| 久久国产精品免费一区二区三区| 国产成人精品久久免费动漫 | 一级做a爰片久久毛片看看| 久久e热在这里只有国产中文精品99| 香蕉久久一区二区不卡无毒影院|