| 
 | 
 
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册  
 
x
 
 本帖最后由 爱你没错 于 2016-1-3 10:43 编辑  
 
用C语言自己写了个小写转大写的程序: 
int mylowers(char c) 
{ 
        char d=0; 
        d = c | 32; 
        return d; 
} 
调用后缺没法转成大写 
反汇编代码如下: 
27:   { 
004010F0   push        ebp 
004010F1   mov         ebp,esp 
004010F3   sub         esp,44h 
004010F6   push        ebx 
004010F7   push        esi 
004010F8   push        edi 
004010F9   lea         edi,[ebp-44h] 
004010FC   mov         ecx,11h 
00401101   mov         eax,0CCCCCCCCh 
00401106   rep stos    dword ptr [edi] 
28:       char d=0; 
00401108   mov         byte ptr [ebp-4],0 
29:       d = c | 32; 
0040110C   movsx       eax,byte ptr [ebp+8] 
00401110   or          al,20h 
00401112   mov         byte ptr [ebp-4],al 
30:       return d; 
00401115   movsx       eax,byte ptr [ebp-4] 
31:   } 
看看好像是对的,为什么却没效果 |   
 
 
 
 |