if_else:

1
2
3
4
5
6
		cmp a,b
je 0x0001
操作2 Yes
jmp 0x0002
0x0001: 操作3 NO
0x0002:

switch case:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
		操作1
cmp a,400
jg 0x000000
cmp a,400
je 0x000001
cmp a,300
je 0x00002
cmp a,200
je 0x0003
jmp 0x0004
操作2
jmp 0x0004 //实际上是有break;
操作3
jmp 0x0004
操作4
jmp 0x0004
操作5
0x0004:

while()

1
2
3
4
5
0x0000: cmp a,100
jle 0x00001
操作
jmp 0x0000
0x00001:

do while()

1
2
3
0x00001:操作
cmp a,100
jle 0x00001

for()

1
2
3
4
5
6
7
8
9
		mov dowrd ptr[ebp-8],1
jmp 0x00001
0x00003:操作
add/sub/mul/div ecx,dowrd ptr[ebp-8]
0x00001:cmp ecx,dowrd ptr[ebp-8]
jg 0x00002
操作
jmp 0x00003
0x00002: