⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 矛与盾的较量(2)——crc原理篇.htm

📁 CRC16的源程序
💻 HTM
📖 第 1 页 / 共 4 页
字号:
                        color=#ff0000>flat</FONT><FONT 
                        color=#9932cd><B>,</B></FONT> <FONT 
                        color=#ff0000>stdcall</FONT><BR><A name=L15><FONT 
                        color=#ff0000>option</FONT> <FONT 
                        color=#ff0000>casemap</FONT><FONT 
                        color=#3080ca>:</FONT>none<BR><A name=L16><BR><A 
                        name=L17><FONT color=#ff8000>include</FONT> 
                        windows.inc<BR><A name=L18><FONT 
                        color=#ff8000>include</FONT> kernel32.inc<BR><A 
                        name=L19><FONT color=#ff8000>include</FONT> 
                        user32.inc<BR><A name=L20><FONT 
                        color=#ff8000>includelib</FONT> kernel32.lib<BR><A 
                        name=L21><FONT color=#ff8000>includelib</FONT> 
                        user32.lib<BR><A name=L22><BR><A 
                        name=L23>WndProc&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<FONT 
                        color=#ff0000>proto</FONT> <FONT 
                        color=#3080ca>:</FONT><FONT 
                        color=#ff0000>DWORD</FONT><FONT 
                        color=#9932cd><B>,</B></FONT> <FONT 
                        color=#3080ca>:</FONT><FONT 
                        color=#ff0000>DWORD</FONT><FONT 
                        color=#9932cd><B>,</B></FONT> <FONT 
                        color=#3080ca>:</FONT><FONT 
                        color=#ff0000>DWORD</FONT><FONT 
                        color=#9932cd><B>,</B></FONT> <FONT 
                        color=#3080ca>:</FONT><FONT 
                        color=#ff0000>DWORD</FONT><BR><A 
                        name=L24>init_crc32table&nbsp;&nbsp;&nbsp;&nbsp;<FONT 
                        color=#ff0000>proto</FONT><BR><A 
                        name=L25>arraycrc32&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                        <FONT color=#ff0000>proto</FONT><BR><A name=L26><BR><A 
                        name=L27><FONT color=#9932cd><B>.</B></FONT><FONT 
                        color=#ff0000>const</FONT><BR><A 
                        name=L28>IDC_BUTTON_OPEN&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<FONT 
                        color=#ff0000>equ</FONT>&nbsp;&nbsp;&nbsp;&nbsp;<FONT 
                        color=#802000>3000</FONT><BR><A 
                        name=L29>IDC_EDIT_INPUT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                        <FONT 
                        color=#ff0000>equ</FONT>&nbsp;&nbsp;&nbsp;&nbsp;<FONT 
                        color=#802000>3001</FONT><BR><A name=L30><BR><A 
                        name=L31><FONT color=#9932cd><B>.</B></FONT><FONT 
                        color=#ff0000>data</FONT><BR><A 
                        name=L32>szDlgName&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                        <FONT 
                        color=#ff0000>db</FONT>&nbsp;&nbsp;&nbsp;&nbsp;<FONT 
                        color=#0000ff>"lc_dialog"</FONT><FONT 
                        color=#9932cd><B>,</B></FONT> <FONT 
                        color=#802000>0</FONT><BR><A 
                        name=L33>szTitle&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                        <FONT 
                        color=#ff0000>db</FONT>&nbsp;&nbsp;&nbsp;&nbsp;<FONT 
                        color=#0000ff>"CRC demo by LC"</FONT><FONT 
                        color=#9932cd><B>,</B></FONT> <FONT 
                        color=#802000>0</FONT><BR><A 
                        name=L34>szTemplate&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<FONT 
                        color=#ff0000>db</FONT>&nbsp;&nbsp;&nbsp;&nbsp;<FONT 
                        color=#0000ff>"字符串 ""%s"" 的 CRC32 值是:%X"</FONT><FONT 
                        color=#9932cd><B>,</B></FONT> <FONT 
                        color=#802000>0</FONT><BR><A 
                        name=L35>crc32tbl&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<FONT 
                        color=#ff0000>dd</FONT>&nbsp;&nbsp;&nbsp;&nbsp;<FONT 
                        color=#802000>256</FONT> <FONT 
                        color=#ff0000>dup</FONT><FONT 
                        color=#ff00ff>(</FONT><FONT color=#802000>0</FONT><FONT 
                        color=#ff00ff>)</FONT>&nbsp;&nbsp;&nbsp;&nbsp;<FONT 
                        color=#238e23>;CRC-32 table</FONT><BR><A 
                        name=L36>szBuffer&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<FONT 
                        color=#ff0000>db</FONT>&nbsp;&nbsp;&nbsp;&nbsp;<FONT 
                        color=#802000>255</FONT> <FONT 
                        color=#ff0000>dup</FONT><FONT 
                        color=#ff00ff>(</FONT><FONT color=#802000>0</FONT><FONT 
                        color=#ff00ff>)</FONT><BR><A name=L37><BR><A 
                        name=L38><FONT color=#9932cd><B>.</B></FONT><FONT 
                        color=#ff0000>data</FONT><FONT 
                        color=#3080ca>?</FONT><BR><A 
                        name=L39>szText&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<FONT 
                        color=#ff0000>db</FONT>&nbsp;&nbsp;&nbsp;&nbsp;<FONT 
                        color=#802000>300</FONT> <FONT 
                        color=#ff0000>dup</FONT><FONT 
                        color=#ff00ff>(</FONT><FONT color=#3080ca>?</FONT><FONT 
                        color=#ff00ff>)</FONT><BR><A name=L40><BR><A 
                        name=L41><FONT color=#9932cd><B>.</B></FONT><FONT 
                        color=#ff0000>code</FONT><BR><A name=L42>main<FONT 
                        color=#3080ca>:</FONT><BR><A 
                        name=L43>&nbsp;&nbsp;&nbsp;&nbsp;<FONT 
                        color=#ff0000>invoke</FONT> GetModuleHandle<FONT 
                        color=#9932cd><B>,</B></FONT> NULL<BR><A 
                        name=L44>&nbsp;&nbsp;&nbsp;&nbsp;<FONT 
                        color=#ff0000>invoke</FONT> DialogBoxParam<FONT 
                        color=#9932cd><B>,</B></FONT> <FONT 
                        color=#ff0000>eax</FONT><FONT 
                        color=#9932cd><B>,</B></FONT> <FONT 
                        color=#ff0000>offset</FONT> szDlgName<FONT 
                        color=#9932cd><B>,</B></FONT> <FONT 
                        color=#802000>0</FONT><FONT 
                        color=#9932cd><B>,</B></FONT> WndProc<FONT 
                        color=#9932cd><B>,</B></FONT> <FONT 
                        color=#802000>0</FONT><BR><A 
                        name=L45>&nbsp;&nbsp;&nbsp;&nbsp;<FONT 
                        color=#ff0000>invoke</FONT> ExitProcess<FONT 
                        color=#9932cd><B>,</B></FONT> <FONT 
                        color=#ff0000>eax</FONT><BR><A name=L46><BR><A 
                        name=L47>WndProc <FONT color=#ff0000>proc</FONT> <FONT 
                        color=#ff0000>uses</FONT> <FONT color=#ff0000>ebx</FONT> 
                        hWnd<FONT color=#3080ca>:</FONT>HWND<FONT 
                        color=#9932cd><B>,</B></FONT> uMsg<FONT 
                        color=#3080ca>:</FONT>UINT<FONT 
                        color=#9932cd><B>,</B></FONT> wParam<FONT 
                        color=#3080ca>:</FONT>WPARAM<FONT 
                        color=#9932cd><B>,</B></FONT> lParam<FONT 
                        color=#3080ca>:</FONT>LPARAM<BR><A name=L48><BR><A 
                        name=L49>&nbsp;&nbsp;&nbsp;&nbsp;<FONT 
                        color=#9932cd><B>.</B></FONT><FONT 
                        color=#ff0000>if</FONT> uMsg <FONT 
                        color=#3080ca>=</FONT><FONT color=#3080ca>=</FONT> 
                        WM_CLOSE<BR><A 
                        name=L50>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<FONT 
                        color=#ff0000>invoke</FONT> EndDialog<FONT 
                        color=#9932cd><B>,</B></FONT> hWnd<FONT 
                        color=#9932cd><B>,</B></FONT> <FONT 
                        color=#802000>0</FONT><BR><A 
                        name=L51>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR><A 
                        name=L52>&nbsp;&nbsp;&nbsp;&nbsp;<FONT 
                        color=#9932cd><B>.</B></FONT><FONT 
                        color=#ff0000>elseif</FONT> uMsg <FONT 
                        color=#3080ca>=</FONT><FONT color=#3080ca>=</FONT> 
                        WM_COMMAND<BR><A 
                        name=L53>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<FONT 
                        color=#ff0000>mov</FONT> <FONT 
                        color=#ff0000>eax</FONT><FONT 
                        color=#9932cd><B>,</B></FONT>wParam<BR><A 
                        name=L54>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<FONT 
                        color=#ff0000>mov</FONT> <FONT 
                        color=#ff0000>edx</FONT><FONT 
                        color=#9932cd><B>,</B></FONT><FONT 
                        color=#ff0000>eax</FONT><BR><A 
                        name=L55>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<FONT 
                        color=#ff0000>shr</FONT> <FONT 
                        color=#ff0000>edx</FONT><FONT 
                        color=#9932cd><B>,</B></FONT><FONT 
                        color=#802000>16</FONT><BR><A 
                        name=L56>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<FONT 
                        color=#ff0000>movzx</FONT> <FONT 
                        color=#ff0000>eax</FONT><FONT 
                        color=#9932cd><B>,</B></FONT> <FONT 
                        color=#ff0000>ax</FONT><BR><A 
                        name=L57>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<FONT 
                        color=#9932cd><B>.</B></FONT><FONT 
                        color=#ff0000>if</FONT> <FONT color=#ff0000>edx</FONT> 
                        <FONT color=#3080ca>=</FONT><FONT color=#3080ca>=</FONT> 
                        BN_CLICKED<BR><A 
                        name=L58>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<FONT 
                        color=#9932cd><B>.</B></FONT><FONT 
                        color=#ff0000>IF</FONT> <FONT color=#ff0000>eax</FONT> 
                        <FONT color=#3080ca>=</FONT><FONT color=#3080ca>=</FONT> 
                        IDCANCEL<BR><A 
                        name=L59>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<FONT 
                        color=#ff0000>invoke</FONT> EndDialog<FONT 
                        color=#9932cd><B>,</B></FONT> hWnd<FONT 
                        color=#9932cd><B>,</B></FONT> NULL<BR><A 
                        name=L60>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<FONT 
                        color=#9932cd><B>.</B></FONT><FONT 
                        color=#ff0000>ELSEIF</FONT> <FONT 
                        color=#ff0000>eax</FONT> <FONT 
                        color=#3080ca>=</FONT><FONT color=#3080ca>=</FONT> 
                        IDC_BUTTON_OPEN <FONT color=#3080ca>|</FONT><FONT 
                        color=#3080ca>|</FONT> <FONT color=#ff0000>eax</FONT> 
                        <FONT color=#3080ca>=</FONT><FONT color=#3080ca>=</FONT> 
                        IDOK&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR><A 
                        name=L61>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<FONT 
                        color=#238e23>;******************************************</FONT><BR><A 
                        name=L62>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<FONT 
                        color=#238e23>;关键代码开始:(当当当当……)</FONT><BR><A 
                        name=L63>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<FONT 
                        color=#238e23>;******************************************</FONT><BR><A 
                        name=L64>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<FONT 
                        color=#238e23>;取得用户输入的字符串:</FONT><BR><A 
                        name=L65>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<FONT 
                        color=#ff0000>invoke</FONT> GetDlgItemText<FONT 
                        color=#9932cd><B>,</B></FONT> hWnd<FONT 
                        color=#9932cd><B>,</B></FONT> IDC_EDIT_INPUT<FONT 
                        color=#9932cd><B>,</B></FONT> <FONT 
                        color=#ff0000>addr</FONT> szBuffer<FONT 
                        color=#9932cd><B>,</B></FONT> <FONT 
                        color=#802000>255</FONT><BR><A name=L66><BR><A 
                        name=L67>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<FONT 
                        color=#238e23>;初始化crc32table:</FONT><BR><A 
                        name=L68>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<FONT 
                        color=#ff0000>invoke</FONT> init_crc32table<BR><A 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -