|
- .版本 2
- .支持库 spec
- .程序集 程序集1
- .程序集变量 二进制1的数量表, 字节型, , "256"
- .子程序 _启动子程序, 整数型, , 请在本子程序中放置易模块初始化代码
- _临时子程序 () ' 在初始化代码执行完毕后调用测试代码
- 返回 (0) ' 可以根据您的需要返回任意数值
- .子程序 _临时子程序
- 调试输出 (取真随机字节集序列 ())
- .子程序 取实际延时时间, 整数型
- .局部变量 时间, 整数型
- 时间 = 取启动时间 ()
- 延时 (1)
- 返回 (取启动时间 () - 时间)
- .子程序 逻辑型数组到字节集, 字节集
- .参数 逻辑型数组, 逻辑型, 数组
- .局部变量 逻辑组长度, 整数型
- .局部变量 字节集数据, 字节集
- .局部变量 字节集长度, 整数型
- .局部变量 计数, 整数型
- .局部变量 移位计数, 整数型
- .局部变量 逻辑计数, 整数型
- 逻辑组长度 = 取数组成员数 (逻辑型数组)
- .如果真 (逻辑组长度 % 8 ≠ 0)
- 输出调试文本 (“数组成员数必须是8的倍数才可以导出字节集数据。”)
- 返回 ({ })
- .如果真结束
- 字节集数据 = 取空白字节集 (逻辑组长度 ÷ 8)
- 字节集长度 = 取字节集长度 (字节集数据)
- .计次循环首 (字节集长度, 计数)
- .变量循环首 (7, 0, -1, 移位计数)
- .如果真 (逻辑型数组 [逻辑计数 + 1] = 真)
- 字节集数据 [计数] = 位或 (左移 (1, 移位计数), 字节集数据 [计数])
- .如果真结束
- 逻辑计数 = 逻辑计数 + 1
- .变量循环尾 ()
- .计次循环尾 ()
- 返回 (字节集数据)
- .子程序 取真随机字节集序列, 字节集, 公开
- .局部变量 计数, 整数型
- .局部变量 逻辑数组, 逻辑型, , "8,256"
- .局部变量 逻辑数组2, 逻辑型, , "256,8"
- .局部变量 移位计数, 整数型
- .局部变量 移位值, 整数型
- .局部变量 字节集, 字节集
- .局部变量 字节集2, 字节集
- .局部变量 字节集3, 字节集
- .局部变量 整数数组, 整数型, , "0"
- .局部变量 结果, 整数型
- .局部变量 值, 整数型
- .变量循环首 (0, 255, 1, 计数)
- 结果 = 0
- .变量循环首 (0, 7, 1, 移位计数)
- .如果真 (位与 (左移 (1, 移位计数), 计数) ≠ 0)
- 结果 = 结果 + 1
- .如果真结束
- .变量循环尾 ()
- 二进制1的数量表 [计数 + 1] = 结果
- .变量循环尾 ()
- 字节集3 = 取空白字节集 (256)
- .计次循环首 (256, 计数)
- 值 = 取实际延时时间 ()
- 字节集3 [计数] = 值
- .变量循环首 (1, 8, 1, 移位计数)
- 移位值 = 左移 (1, 移位计数 - 1)
- 逻辑数组 [移位计数] [计数] = 位与 (值, 移位值) = 移位值
- 逻辑数组2 [计数] [移位计数] = 位与 (值, 移位值) = 移位值
- .变量循环尾 ()
- .计次循环尾 ()
- 字节集 = 逻辑型数组到字节集 (逻辑数组)
- 字节集2 = 逻辑型数组到字节集 (逻辑数组2)
- .计次循环首 (256, 计数)
- 字节集 [计数] = H (F (循环右移 (字节集 [计数]), 循环左移 (字节集2 [计数]), 字节高低位颠倒 (字节集3 [计数])), G (字节高低位颠倒 (计数 - 1), 字节集 [循环右移 (字节集2 [循环左移 (计数 - 1) + 1]) + 1], 字节集2 [循环左移 (字节集3 [循环右移 (计数 - 1) + 1]) + 1]), I (字节集3 [半字节交换 (字节集 [字节高低位颠倒 (计数 - 1) + 1]) + 1], 计数 - 1, 右移 (取启动时间 (), 8 + 获取二进制位1的数量 (计数 - 1))))
- .计次循环尾 ()
- 返回 (字节集)
- .子程序 获取二进制位1的数量, 字节型
- .参数 值, 字节型
- 返回 (二进制1的数量表 [值 + 1])
- .子程序 循环左移, 字节型
- .参数 值, 字节型
- 返回 (位或 (右移 (位与 (值, 254), 1), 左移 (位与 (值, 1), 7)))
- .子程序 循环右移, 字节型
- .参数 值, 字节型
- 返回 (位或 (右移 (位与 (值, 128), 7), 左移 (位与 (值, 127), 1)))
- .子程序 半字节交换, 字节型
- .参数 值, 字节型
- 返回 (左移 (位与 (值, 15), 4) + 右移 (值, 4))
- .子程序 字节高低位颠倒, 字节型
- .参数 字节, 字节型
- .局部变量 移位计数, 整数型
- .局部变量 返回值, 字节型
- .变量循环首 (0, 7, 1, 移位计数)
- .如果真 (位与 (左移 (1, 移位计数), 字节) = 左移 (1, 移位计数))
- 返回值 = 位或 (返回值, 左移 (1, 7 - 移位计数))
- .如果真结束
- .变量循环尾 ()
- 返回 (返回值)
- .子程序 F, 整数型
- .参数 X, 整数型
- .参数 Y, 整数型
- .参数 Z, 整数型
- 返回 (位或 (位与 (X, Y), 位与 (位取反 (X), Z)))
- .子程序 G, 整数型
- .参数 X, 整数型
- .参数 Y, 整数型
- .参数 Z, 整数型
- 返回 (位或 (位与 (X, Z), 位与 (Y, 位取反 (Z))))
- .子程序 H, 整数型
- .参数 X, 整数型
- .参数 Y, 整数型
- .参数 Z, 整数型
- 返回 (位异或 (X, Y, Z))
- .子程序 I, 整数型
- .参数 X, 整数型
- .参数 Y, 整数型
- .参数 Z, 整数型
- 返回 (位异或 (Y, 位或 (X, 位取反 (Z))))
复制代码
|
|