program Project2;
{$APPTYPE CONSOLE}
uses SysUtils,windows;
var i,j:integer; //i,j全局变量。 begin i:=123; j:=323; if i<j then Writeln(i) else writeln(j); readln; end.
00408316 . BB 7B000000 mov ebx,7B ; i=123 0040831B . BE 43010000 mov esi,143 ; j=234 00408320 . 3BF3 cmp esi,ebx ; 比较i j 00408322 . 7E 18 jle short Project2.0040833C ; 如果i<=j 则跳到 40833C 00408324 . A1 04934000 mov eax,dword ptr ds:[409304] 00408329 . 8BD3 mov edx,ebx 0040832B . E8 88AAFFFF call Project2.00402DB8 00408330 . E8 B3AAFFFF call Project2.00402DE8 00408335 . E8 F2A2FFFF call Project2.0040262C ; 这三行实现了writeln 0040833A . EB 16 jmp short Project2.00408352 ;执行完上面的语句就要跳过下面的一些语句。直接到下面加粗的与语句中去。 0040833C > A1 04934000 mov eax,dword ptr ds:[409304] 00408341 . 8BD6 mov edx,esi 00408343 . E8 70AAFFFF call Project2.00402DB8 00408348 . E8 9BAAFFFF call Project2.00402DE8 0040834D . E8 DAA2FFFF call Project2.0040262C 00408352 > A1 70934000 mov eax,dword ptr ds:[409370] 程序用esi 和ebx存储i和j。
|
请发表评论