|
- .版本 2
- .程序集 程序集1
- .子程序 _启动子程序, 整数型, , 请在本子程序中放置易模块初始化代码
- _临时子程序 () ' 在初始化代码执行完毕后调用测试代码
- 返回 (0) ' 可以根据您的需要返回任意数值
- .子程序 _临时子程序
- .局部变量 数组, 双精度小数型, , "0"
- 数组 = { 1.2, -1.3, 1.4, -1 }
- 输出调试文本 (双精度小数型数组_是否运算正确 (数组))
- 输出调试文本 (易源码_双精度小数型数组_是否运算正确 (数组))
- 数组 = { 10000000000, 3.14, 4.13, -1e+019, 1.#INF }
- 输出调试文本 (双精度小数型数组_是否运算正确 (数组))
- 输出调试文本 (易源码_双精度小数型数组_是否运算正确 (数组))
- .子程序 双精度小数型数组_是否运算正确, 逻辑型, , 是否运算正确 () 数组操作 全部正确返回真,有一个出错则返回假 空数组返回假
- .参数 欲校验的计算结果数组, 双精度小数型, 数组
- 置入代码 ({ 83, 81, 82, 139, 69, 8, 11, 192, 117, 2, 235, 58, 139, 0, 11, 192, 117, 2, 235, 50, 139, 88, 4, 11, 219, 117, 4, 51, 192, 235, 39, 131, 192, 8, 51, 201, 235, 23, 139, 84, 200, 4, 129, 226, 0, 0, 240, 127, 129, 250, 0, 0, 240, 127, 117, 4, 51, 192, 235, 10, 65, 59, 203, 114, 229, 184, 1, 0, 0, 0, 90, 89, 91, 201, 194, 4, 0 })
- ' push ebx
- ' push ecx
- ' push edx
- ' mov eax,[ebp+8]
- ' .if !eax
- ' jmp ASM_END
- ' .endif
- ' mov eax,[eax]
- ' .if !eax
- ' jmp ASM_END
- ' .endif
- ' mov ebx,[eax+4]
- ' .if !ebx
- ' xor eax,eax
- ' jmp ASM_END
- ' .endif
- ' add eax,8
- ' xor ecx,ecx
- ' .while ecx < ebx
- ' mov edx,[eax+ecx*8+4]
- ' and edx,2146435072
- ' .if edx == 2146435072
- ' xor eax,eax
- ' jmp ASM_END
- ' .endif
- ' inc ecx
- ' .endw
- ' mov eax,1
- ' ASM_END:
- ' pop edx
- ' pop ecx
- ' pop ebx
- ' leave
- ' retn 4
- 返回 (假)
- .子程序 易源码_双精度小数型数组_是否运算正确, 逻辑型
- .参数 欲校验的计算结果数组, 双精度小数型, 数组
- .局部变量 成员, 整数型
- .局部变量 计数, 整数型
- 成员 = 取数组成员数 (欲校验的计算结果数组)
- .如果真 (成员 = 0)
- 返回 (假)
- .如果真结束
- .计次循环首 (成员, 计数)
- .如果真 (是否运算正确 (欲校验的计算结果数组 [计数]) = 假)
- 返回 (假)
- .如果真结束
- .计次循环尾 ()
- 返回 (真)
复制代码
|
|