小发猫

【小发猫】基于AI的NLP伪原创工具

用VC写Assembly代码(5) --一些宏的使用(二)

目前我知道vc++ inline assembler 有这几个宏 LENGTH、SIZE、TYPE,他们使用简单,下面个个例子:

void main()
{
 int k[10];
 int a,b,c;
 __asm
 {
  mov eax, LENGTH k
  mov ebx, SIZE k
  mov ecx, TYPE k
  mov a, eax
  mov b, ebx
  mov c, ecx
 }
 printf("%b - %d - %d/n", a, b, c);

}

他们的反汇编代码如下:

53:       int k[10];
54:       int a,b,c;
55:       __asm
56:       {
57:           mov eax, LENGTH k
0040B7E8   mov         eax,0Ah
58:           mov ebx, SIZE k
0040B7ED   mov         ebx,28h
59:           mov ecx, TYPE k
0040B7F2   mov         ecx,4
60:           mov a, eax
0040B7F7   mov         dword ptr [ebp-2Ch],eax
61:           mov b, ebx
0040B7FA   mov         dword ptr [ebp-30h],ebx
62:           mov c, ecx
0040B7FD   mov         dword ptr [ebp-34h],ecx
63:       }
64:       printf("%b - %d - %d/n", a, b, c);
0040B800   mov         eax,dword ptr [ebp-34h]
0040B803   push        eax
0040B804   mov         ecx,dword ptr [ebp-30h]
0040B807   push        ecx
0040B808   mov         edx,dword ptr [ebp-2Ch]
0040B80B   push        edx
0040B80C   push        offset string "%b - %d - %d/n" (00420f98)
0040B811   call        printf (004010a0)

阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

用VC写Assembly代码(5) --一些宏的使用(二)

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭