彙編中push暫存器的影響

2021-09-08 19:38:53 字數 512 閱讀 2258

由於彙編**中的不同位置 esp+40所指的位址不像ebp+40的位址那個是一定的,esp+40指向的位址由棧頂變化影響。也就是和操作棧指令 push pop 等影響。

彙編棧是乙個線性的位址區間,位址上面小大面大。如下圖所示,esp指向棧頂位址

push 暫存器相當於 esp減4。由此可推算

那麼則有如下公式

前面push數目為push_count

前面pop數目為pop_count

esp基礎值為 b_esp

則彙編**中的 esp+offset = esp基礎值+offset-push數*4。

那麼定一相值,就可以使彙編**中所有 esp+***。轉換為基礎值+*** 這樣即可增加彙編**可讀性。

彙編中push暫存器的影響

由於彙編 中的不同位置 esp 40所指的位址不像ebp 40的位址那個是一定的,esp 40指向的位址由棧頂變化影響。也就是和操作棧指令 push pop 等影響。彙編棧是乙個線性的位址區間,位址上面小大面大。如下圖所示,esp指向棧頂位址 push 暫存器相當於 esp減4。由此可推算 那麼則有...

彙編中的暫存器說明

組合語言和cpu以及記憶體,埠等硬體知識是連在一起的.這也是為什麼組合語言沒有通用性的原因.下面簡單講講基本知識 針對intel x86及其相容機 x86組合語言的指令,其操作物件是cpu上的暫存器,系統記憶體,或者立即數.有些指令表面上沒有運算元,或者看上去缺少運算元,其實該指令有內定的操作物件,...

彙編暫存器知識

一 32位cpu所含有的暫存器有 1 資料暫存器。4個 eax ebx ecx edx。2 變址暫存器 index register 2個 esi edi。3 指標暫存器 pointer register 2個 esp extended stack pointer ebp extended base...