读书人

Delphi循环话语对应的汇编语句序列-

发布时间: 2012-10-27 10:42:26 作者: rapoo

Delphi循环语句对应的汇编语句序列-- 转

count: 终值, start:起始值
正向:
语句:for i:=0 to count do
汇编:mov eax, [count]
test eax, eax
jl XXX
inc eax
[循环体]
dec eax
jnz [循环体]
XXX

语句:for i:=0 to count-1 do
汇编:mov eax, [count]
dec eax
test eax, eax
jl XXX
inc eax
[循环体]
dec eax
jnz [循环体]
XXX

语句:for i:=1 to count do
汇编:mov eax, [count]
test eax, eax
jle XXX
[循环体]
dec eax
jnz [循环体]
XXX

语句:for i:=1 to count-1 do
汇编:mov eax, [count]
dec eax
test eax, eax
jle XXX
[循环体]
dec eax
jnz [循环体]
XXX

语句:for i:=start to count do
汇编:mov edx, [start]
mov eax, [count]
sub eax, edx
jl XXX
inc eax
[循环体]
dec eax
jnz [循环体]
XXX

语句:for i:=start to count - 1 do
汇编:mov edx, [start]
mov eax, [count]
dec eax
sub eax, edx
jl XXX
inc eax
[循环体]
dec eax
jnz [循环体]
XXX

逆向:
语句:for i:=count downto 0 do
汇编:mov eax, [count]
cmp eax, 0
jl XXX
[循环体]
dec eax
cmp eax, -1
jnz [循环体]
XXX

语句:for i:=count-1 downto 0 do
汇编:mov eax, [count]
dec eax
cmp eax, 0
jl XXX
[循环体]
dec eax
cmp eax, -1
jnz [循环体]
XXX


语句:for i:=count downto 1 do
汇编:mov eax, [count]
cmp eax, 1
jl XXX
[循环体]
dec eax
test eax, eax
jnz [循环体]
XXX


语句:for i:=count-1 downto 1 do
汇编:mov eax, [count]
dec eax
cmp eax, 1
jl XXX
[循环体]
dec eax
test eax, eax
jnz [循环体]
XXX


语句:for i:=count downto start do
汇编:mov edx, [start]
mov eax, [count]
sub edx, eax
jg XXX
dec edx
[循环体]
inc edx
jnz [循环体]
XXX


语句:for i:=count - 1 downto start do
汇编:mov edx, [start]
mov eax, [count]
dec eax
sub edx, eax
jg XXX
dec edx
[循环体]
inc edx
jnz [循环体]
XXX

读书人网 >.NET

热点推荐