|
本帖最后由 QAQ 于 2018-10-4 19:59 编辑
- .版本 2
- .程序集 程序集1
- .子程序 _启动子程序, 整数型, , 请在本子程序中放置易模块初始化代码
- _临时子程序 () ' 在初始化代码执行完毕后调用测试代码
- 返回 (0) ' 可以根据您的需要返回任意数值
- .子程序 _临时子程序
- 输出频率时间 (, 子程序执行频率测试 (&测频子程序, 10000))
- .子程序 测频子程序, , , 此处添加要循环执行的子程序,严禁任何参数以及返回值
- 处理事件 ()
- .子程序 输出频率时间
- .参数 子程序名, 文本型, 可空
- .参数 频率, 双精度小数型
- 输出调试文本 (子程序名 + “ 频率:” + 频率转换 (频率) + “ 时间:” + 时间转换 (1000000000 ÷ 频率))
- .子程序 Rdtsc, 长整数型
- 置入代码 ({ 15, 49, 201, 195 })
- ' rdtsc
- ' leave
- ' ret
- 返回 (0)
- .子程序 取CPU主频, 长整数型
- .局部变量 周期, 长整数型
- 周期 = Rdtsc ()
- 延时 (1000)
- 周期 = Rdtsc () - 周期
- 返回 (周期)
- .子程序 子程序执行频率测试, 双精度小数型
- .参数 子程序指针, 子程序指针
- .参数 执行次数, 整数型
- .局部变量 周期, 长整数型
- .局部变量 耗时, 双精度小数型
- .局部变量 CPU主频, 长整数型
- .局部变量 执行频率, 双精度小数型
- CPU主频 = 取CPU主频 ()
- 周期 = Rdtsc ()
- 计次循环_调用子程序 (子程序指针, 执行次数)
- 周期 = Rdtsc () - 周期
- 耗时 = 周期 ÷ 执行次数
- 执行频率 = CPU主频 ÷ 耗时
- 返回 (执行频率)
- .子程序 计次循环_调用子程序, , , 调用并循环几次指定的子程序指针。
- .参数 指针地址, 子程序指针, , 指针的返回值将会被舍弃,严禁有任何参数。
- .参数 循环次数, 整数型, , 不能小于1否则不会被执行。
- 置入代码 ({ 139, 69, 8, 139, 93, 12, 129, 251, 255, 255, 255, 127, 118, 2, 235, 22, 185, 0, 0, 0, 0, 235, 11, 80, 83, 81, 82, 255, 208, 90, 89, 91, 88, 65, 59, 203, 114, 241, 201, 194, 8, 0 })
- .子程序 频率转换, 文本型
- .参数 频率, 双精度小数型
- .判断开始 (频率 ≥ 1000000000000)
- 返回 (到文本 (频率 ÷ 1000000000000) + “Thz”)
- .判断 (频率 ≥ 1000000000)
- 返回 (到文本 (频率 ÷ 1000000000) + “Ghz”)
- .判断 (频率 ≥ 1000000)
- 返回 (到文本 (频率 ÷ 1000000) + “Mhz”)
- .判断 (频率 ≥ 1000)
- 返回 (到文本 (频率 ÷ 1000) + “Khz”)
- .默认
- .判断结束
- 返回 (到文本 (频率) + “Hz”)
- .子程序 时间转换, 文本型
- .参数 时间, 双精度小数型
- .判断开始 (时间 ≥ 1000000000)
- 返回 (到文本 (时间 ÷ 1000000000) + “S”)
- .判断 (时间 ≥ 1000000)
- 返回 (到文本 (时间 ÷ 1000000) + “mS”)
- .判断 (时间 ≥ 1000)
- 返回 (到文本 (时间 ÷ 1000) + “uS”)
- .默认
- .判断结束
- 返回 (到文本 (时间) + “nS”)
复制代码
|
|