请教一段反汇编代码的解释
00429E3C 8A48 24 MOV CL,BYTE PTR DS:[EAX+24] //[EAX+24]怎么解释,CL等于多少?
00429E3F |. 83C4 04 ADD ESP,4 //ESP是新赋值的吗
00429E42 |. 80F9 02 CMP CL,2 //为什么跟2比较
00429E45 75 0A JNZ SHORT San5原版.00429E51
00429E47 8A4C24 0C MOV CL,BYTE PTR SS:[ESP+C]
00429E4B D0E1 SHL CL,1
00429E4D 884C24 0C MOV BYTE PTR SS:[ESP+C],CL //CL值又回去了吗
原函数段:
00429E20 /$ 51 PUSH ECX
00429E21 |. 53 PUSH EBX
00429E22 |. 6A 02 PUSH 2 ;
00429E24 |. E8 9A3F0600 CALL San5原版.0048DDC3 ;
00429E29 |. 8AD8 MOV BL,AL
00429E2B |. 83C4 04 ADD ESP,4
00429E2E |. 885C24 04 MOV BYTE PTR SS:[ESP+4],BL
00429E32 |. 8B4424 04 MOV EAX,DWORD PTR SS:[ESP+4]
00429E36 |. 50 PUSH EAX
00429E37 |. E8 54DCFFFF CALL San5原版.00427A90
00429E3C 8A48 24 MOV CL,BYTE PTR DS:[EAX+24]
00429E3F |. 83C4 04 ADD ESP,4
00429E42 |. 80F9 02 CMP CL,2
00429E45 75 0A JNZ SHORT San5原版.00429E51
00429E47 8A4C24 0C MOV CL,BYTE PTR SS:[ESP+C] ;
00429E4B D0E1 SHL CL,1
00429E4D 884C24 0C MOV BYTE PTR SS:[ESP+C],CL
00429E51 |> 8B5424 0C MOV EDX,DWORD PTR SS:[ESP+C]
00429E55 |. 81E2 FF000000 AND EDX,0FF
00429E5B |. 52 PUSH EDX ;
谢谢。
答案:以上这段C++代码,在VS中的反汇编如下,谁能解释一下 int main() { 1、函数入口prologue,从内存地址00411370到0041137B,它的内容是建立main函数
上一个:怎么从中断向量表中找入口偏移地址,偏移量和段地址
下一个:win32汇编有什么用呢