|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
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: }
看看好像是对的,为什么却没效果 |
|