1 #include "stdafx.h"2
345int fun(int a,intb)6
13return
c;14}15
1617
int _tmain(int argc, _tchar*ar**)
18
下面是彙編**:
1int fun(int a,intb)2
3200412d28
jmp fun+30h (412d10h) ;
跳轉到a
33 return c;
3400412d2a
mov eax,dword ptr [c] ;
將結果儲存到eax中,作為返回的結果35}
3600412d2d
pop edi ;
彈出儲存的暫存器值,實現堆疊的平衡
3700412d2e
pop esi ;
3800412d2f
pop ebx ;
3900412d30
mov esp,ebp ;
4000412d32
pop ebp ;
4100412d33
ret
我們主要看迴圈部分的**。
迴圈主要用這麼幾條指令來實現:
mov 進行初始化
jmp跳過修改迴圈變數的**
cmp實現條件判斷
jge根據條件跳轉
1mov《迴圈變數》,《初始值》 ;
給迴圈變數賦初值
2jmp b ;
跳到第一次迴圈處
3 a : (改動迴圈變數) ;
修改迴圈變數
4...
56 b : cmp
《迴圈變數》,《限制變數》 ;
檢查迴圈條件
7jge
跳出迴圈
8(迴圈體)
9...
10jmp a ;
跳回去修改迴圈變數
Python 正向迴圈和逆向迴圈
逆向迴圈 lista 0,1,2,1,4,1,6,1,8,1 for i in reversed range len lista print i 98 7654 3210 正向迴圈 lista 0,1,2,1,4,1,6,1,8,1 for i in range range len lista pr...
170523 逆向 迴圈語句
1625 5 王子昂 總結 2017年5月23日 連續第234天總結 a.加密與解密迴圈語句 b.迴圈是高階語言中可以進行反向引用的一種語言形式,其他型別的分支語句都是由低向高階位址區域走的 因此,可以通過這點快速地將迴圈語句識別出來 如果確定某段 是迴圈,就可分析其計數器,一般是用ecx暫存器做計...
六 PHP迴圈之 for while迴圈
描述 迴圈就是自動執行某段 迴圈執行。語法 for 變數初始化 條件表示式 變數變化 變數初始化 迴圈的開始,給乙個開始迴圈的變數。如 i 1 條件表示式 必須給迴圈乙個可以退出的條件,否則就是死迴圈。i 10 變數變化 讓初始化的值發生改變,一直的達到條件為止。i 示例 輸出從1到100的數 如果...