|
- .版本 2
- .支持库 spec
- .程序集 程序集1
- .子程序 _启动子程序, 整数型, , 请在本子程序中放置易模块初始化代码
- _临时子程序 () ' 在初始化代码执行完毕后调用测试代码
- 返回 (0) ' 可以根据您的需要返回任意数值
- .子程序 _临时子程序
- .局部变量 A, 字节集, , "3"
- .局部变量 B, 字节集, , "3"
- ' 本名称子程序用作测试程序用,仅在开发及调试环境中有效,编译发布程序前将被系统自动清空,请将所有用作测试的临时代码放在本子程序中。 ***注意不要修改本子程序的名称、参数及返回值类型。
- A [1] = { 1, 2, 3, 4, 5 }
- A [2] = { }
- A [3] = { 7 }
- B [1] = { 1, 2, 3, 4, 5 }
- B [2] = { }
- B [3] = { 7 }
- 调试输出 (A, B, 字节集数组_等于 (A, B))
- B [1] = { 1, 2, 3, 5, 4 }
- 调试输出 (A, B, 字节集数组_等于 (A, B))
- .子程序 字节集数组_等于, 逻辑型, 公开
- .参数 字节集数组A, 字节集, 数组
- .参数 字节集数组B, 字节集, 数组
- 置入代码 ({ 235, 48, 80, 50, 255, 83, 129, 227, 255, 0, 0, 0, 139, 4, 43, 91, 11, 192, 117, 2, 235, 26, 139, 0, 11, 192, 117, 2, 235, 18, 139, 64, 4, 11, 192, 116, 7, 61, 0, 0, 0, 128, 114, 2, 235, 2, 183, 1, 88, 195, 83, 81, 82, 86, 87, 179, 8, 232, 196, 255, 255, 255, 138, 207, 179, 12, 232, 187, 255, 255, 255, 138, 239, 128, 241, 1, 128, 245, 1, 10, 201, 116, 16, 10, 237, 116, 12, 184, 1, 0, 0, 0, 233, 144, 0, 0, 0, 235, 16, 10, 201, 117, 8, 10, 237, 116, 8, 56, 233, 116, 4, 51, 192, 235, 126, 139, 69, 8, 139, 0, 139, 80, 4, 139, 93, 12, 139, 27, 59, 83, 4, 116, 4, 51, 192, 235, 104, 131, 192, 8, 131, 195, 8, 51, 201, 235, 85, 139, 52, 136, 139, 60, 139, 11, 246, 116, 4, 11, 255, 117, 10, 59, 247, 116, 6, 51, 192, 235, 72, 235, 60, 11, 246, 116, 56, 11, 255, 116, 52, 59, 247, 116, 48, 82, 139, 86, 4, 59, 87, 4, 116, 5, 51, 192, 90, 235, 44, 131, 198, 8, 131, 199, 8, 81, 83, 51, 201, 235, 15, 138, 28, 49, 58, 28, 57, 116, 6, 51, 192, 91, 89, 235, 18, 65, 59, 202, 114, 237, 91, 89, 90, 65, 59, 202, 114, 167, 184, 1, 0, 0, 0, 95, 94, 90, 89, 91, 201, 194, 8, 0 })
- ' jmp MAIN
- ' IS_DATA_ARRAY:
- ' push eax
- ' xor bh,bh
- ' push ebx
- ' and ebx,255
- ' mov eax,[ebp+ebx]
- ' pop ebx
- ' .if !eax
- ' jmp IS_DATA_ARRAY_END
- ' .endif
- ' mov eax,[eax]
- ' .if !eax
- ' jmp IS_DATA_ARRAY_END
- ' .endif
- ' mov eax,[eax+4]
- ' .if !eax || eax >= 80000000H
- ' jmp IS_DATA_ARRAY_END
- ' .endif
- ' mov bh,1
- ' IS_DATA_ARRAY_END:
- ' pop eax
- ' ret
- ' MAIN:
- ' push ebx
- ' push ecx
- ' push edx
- ' push esi
- ' push edi
- ' mov bl,8
- ' call IS_DATA_ARRAY
- ' mov cl,bh
- ' mov bl,12
- ' call IS_DATA_ARRAY
- ' mov ch,bh
- ' xor cl,1
- ' xor ch,1
- ' .if cl && ch
- ' mov eax,1
- ' jmp ASM_END
- ' .elseif cl || ch && cl != ch
- ' xor eax,eax
- ' jmp ASM_END
- ' .endif
- ' mov eax,[ebp+8]
- ' mov eax,[eax]
- ' mov edx,[eax+4]
- ' mov ebx,[ebp+12]
- ' mov ebx,[ebx]
- ' .if edx != [ebx+4]
- ' xor eax,eax
- ' jmp ASM_END
- ' .endif
- ' add eax,8
- ' add ebx,8
- ' xor ecx,ecx
- ' .while ecx < edx
- ' mov esi,[eax+ecx*4]
- ' mov edi,[ebx+ecx*4]
- ' .if (!esi || !edi) && esi != edi
- ' xor eax,eax
- ' jmp ASM_END
- ' .elseif esi && edi && esi != edi
- ' push edx
- ' mov edx,[esi+4]
- ' .if edx != [edi+4]
- ' xor eax,eax
- ' pop edx
- ' jmp ASM_END
- ' .endif
- ' add esi,8
- ' add edi,8
- ' push ecx
- ' push ebx
- ' xor ecx,ecx
- ' .while ecx < edx
- ' mov bl,[esi+ecx]
- ' .if bl != [edi+ecx]
- ' xor eax,eax
- ' pop ebx
- ' pop ecx
- ' jmp ASM_END
- ' .endif
- ' inc ecx
- ' .endw
- ' pop ebx
- ' pop ecx
- ' pop edx
- ' .endif
- ' inc ecx
- ' .endw
- ' mov eax,1
- ' ASM_END:
- ' pop edi
- ' pop esi
- ' pop edx
- ' pop ecx
- ' pop ebx
- ' leave
- ' retn 8
- 返回 (假)
复制代码 |
|