0CCCCCCCCh很特殊吗?解决思路

0CCCCCCCCh很特殊吗???
我写个最简单的C程序,然后DEBUG看汇编代码,其中有一段非常之不懂,它总要在程序开始前执行:
mov   eax,0CCCCCCCCh
不知道这是个什么特殊的值吗?为什么要这样呢??
==========================
汇编代码前部分如下:
7:         int   main(int   argc,   char*   argv[])
8:         {
00401010       push                 ebp
00401011       mov                   ebp,esp
00401013       sub                   esp,44h
00401016       push                 ebx
00401017       push                 esi
00401018       push                 edi
00401019       lea                   edi,[ebp-44h]
0040101C       mov                   ecx,11h
00401021       mov                   eax,0CCCCCCCCh
00401026       rep   stos         dword   ptr   [edi]
//下面就是开始其它内容了。。。
=========================================
还有包括上面的44H也非常之不懂。。。。,有达人关照一下解疑吗?
=========================================
谢谢解答!!!!

------解决方案--------------------
sub esp,44h是为局部变量在栈上开辟空间。
mov eax,0CCCCCCCCh
rep stos dword ptr [edi]
是给这部分空间设置一个“特征值”,
估计是用于调试的,诸如检测缓冲区溢出、非法篡改局部变量等。

------解决方案--------------------
调试 -> int 3 -> 0xcc

以下为测试:

// test5.cpp
// xp + vc-7_1
// cl -FAsc test5.cpp
int main() {
__asm int 3;
}

编译后, 观察一下输出的文件内容.