|
- .版本 2
- .支持库 spec
- .程序集 程序集1
- .子程序 _启动子程序, 整数型, , 请在本子程序中放置易模块初始化代码
- _临时子程序 () ' 在初始化代码执行完毕后调用测试代码
- 返回 (0) ' 可以根据您的需要返回任意数值
- .子程序 _临时子程序
- .局部变量 小数, 小数型
- .局部变量 双精度小数, 双精度小数型
- .局部变量 小数正确, 逻辑型
- .局部变量 双精度小数正确, 逻辑型
- 置随机数种子 ()
- .判断循环首 (真)
- 小数 = 取随机小数 ()
- 双精度小数 = 取随机双精度小数 ()
- 小数正确 = 小数型_是否运算正确 (小数)
- 双精度小数正确 = 双精度小数型_是否运算正确 (双精度小数)
- .如果真 (小数正确 ≠ 是否运算正确 (小数))
- 暂停 ()
- .如果真结束
- .如果真 (双精度小数正确 ≠ 是否运算正确 (双精度小数))
- 暂停 ()
- .如果真结束
- .如果真 (小数正确 = 假)
- 调试输出 (小数)
- .如果真结束
- .如果真 (双精度小数正确 = 假)
- 调试输出 (双精度小数)
- .如果真结束
- .判断循环尾 ()
- .子程序 小数型_是否运算正确, 逻辑型, 公开
- .参数 欲校验的计算结果, 小数型
- 置入代码 ({ 139, 69, 8, 37, 0, 0, 128, 127, 61, 0, 0, 128, 127, 117, 4, 51, 192, 235, 5, 184, 1, 0, 0, 0, 201, 194, 4, 0 })
- ' mov eax,[ebp+8]
- ' and eax,2139095040
- ' .if eax == 2139095040
- ' xor eax,eax
- ' .else
- ' mov eax,1
- ' .endif
- ' leave
- ' retn 4
- 返回 (假)
- .子程序 双精度小数型_是否运算正确, 逻辑型, 公开
- .参数 欲校验的计算结果, 双精度小数型
- 置入代码 ({ 139, 69, 12, 37, 0, 0, 240, 127, 61, 0, 0, 240, 127, 117, 4, 51, 192, 235, 5, 184, 1, 0, 0, 0, 201, 194, 8, 0 })
- ' mov eax,[ebp+12]
- ' and eax,2146435072
- ' .if eax == 2146435072
- ' xor eax,eax
- ' .else
- ' mov eax,1
- ' .endif
- ' leave
- ' retn 8
- 返回 (假)
- .子程序 取随机小数, 小数型
- .局部变量 字节集, 字节集, 静态
- .局部变量 计数, 整数型
- .如果真 (取字节集长度 (字节集) ≠ 4)
- 字节集 = 取空白字节集 (4)
- .如果真结束
- .计次循环首 (4, 计数)
- 字节集 [计数] = 取随机数 (0, 32767)
- .计次循环尾 ()
- 返回 (取字节集数据 (字节集, #小数型, ))
- .子程序 取随机双精度小数, 双精度小数型
- .局部变量 字节集, 字节集, 静态
- .局部变量 计数, 整数型
- .如果真 (取字节集长度 (字节集) ≠ 8)
- 字节集 = 取空白字节集 (8)
- .如果真结束
- .计次循环首 (8, 计数)
- 字节集 [计数] = 取随机数 (, )
- .计次循环尾 ()
- 返回 (取字节集数据 (字节集, #双精度小数型, ))
复制代码 |
|