官术网_书友最值得收藏!

1.2.3 入棧和出棧指令

1.1節(jié)在介紹通用寄存器的時候,提到過ESP寄存器有特殊用途,被CPU用作棧指針。x86的一些指令雖然不直接以ESP為操作數(shù),但是會隱式地修改ESP的值,例如入棧和出棧指令。

入棧指令PUSH只有一個操作數(shù),即要入棧的源操作數(shù)。PUSH指令會先將ESP向下移動一個位置,然后把源操作數(shù)復制到ESP指向的內(nèi)存處,代碼如下:

等價于:

最后這個MOV指令把ESP用作基址進行尋址。

出棧指令POP也只有一個操作數(shù),是用來接收數(shù)據(jù)的目的操作數(shù)。POP指令會先把ESP指向的內(nèi)存處的值復制到目的操作數(shù)中,然后把ESP向上移動一個位置,代碼如下:

等價于:

主站蜘蛛池模板: 建德市| 廉江市| 河津市| 东乡族自治县| 哈巴河县| 依兰县| 电白县| 三亚市| 策勒县| 滦平县| 南丹县| 河西区| 玉龙| 曲周县| 岳阳县| 兴宁市| 张家界市| 蓬溪县| 察哈| 昔阳县| 塔河县| 铁岭县| 交城县| 海伦市| 东阿县| 舒兰市| 临武县| 高要市| 铁力市| 曲靖市| 来宾市| 镇江市| 南溪县| 东乌珠穆沁旗| 杭锦旗| 湖口县| 两当县| 凤冈县| 阿瓦提县| 钟山县| 南昌市|