|
- .版本 2
- .程序集 CRC64计算模块
- .程序集变量 CRC64表格, 长整数型, , "256"
- .程序集变量 CRC64常数, 长整数型, , "3"
- .子程序 _启动子程序, 整数型, , 请在本子程序中放置易模块初始化代码
- 初始化CRC64 ()
- _临时子程序 () ' 在初始化代码执行完毕后调用测试代码
- 返回 (0) ' 可以根据您的需要返回任意数值
- .子程序 _临时子程序
- ' 本名称子程序用作测试程序用,仅在开发及调试环境中有效,编译发布程序前将被系统自动清空,请将所有用作测试的临时代码放在本子程序中。 ***注意不要修改本子程序的名称、参数及返回值类型。
- 输出调试文本 (CRC64_文本型 (“Hello World! 中文测试”))
- .子程序 初始化CRC64
- .局部变量 i, 整数型
- .局部变量 crc, 长整数型
- CRC64常数 [1] = 取字节集数据 ({ 255, 255, 255, 255, 255, 255, 255, 127 }, #长整数型, )
- CRC64常数 [2] = 取字节集数据 ({ 66, 15, 135, 215, 149, 87, 108, 201 }, #长整数型, )
- CRC64常数 [3] = 取字节集数据 ({ 255, 255, 255, 255, 255, 255, 255, 0 }, #长整数型, )
- .变量循环首 (0, 255, 1, i)
- crc = i
- .计次循环首 (8, )
- crc = 长整数位异或 (长整数位与 (长整数右移 (crc, 1), CRC64常数 [1]), 选择 (长整数位与 (crc, 1) = 1, CRC64常数 [2], 0))
- .计次循环尾 ()
- CRC64表格 [i + 1] = crc
- .变量循环尾 ()
- .子程序 长整数右移, 长整数型
- .参数 值, 长整数型
- .参数 位数, 整数型
- 置入代码 ({ 139, 69, 8, 139, 85, 12, 139, 77, 16, 128, 249, 64, 115, 14, 128, 249, 32, 115, 16, 15, 173, 208, 211, 250, 201, 194, 12, 0, 193, 250, 31, 137, 208, 235, 245, 137, 208, 193, 250, 31, 128, 225, 31, 211, 248, 235, 233 })
- 返回 (0)
- .子程序 长整数位与, 长整数型
- .参数 值1, 长整数型
- .参数 值2, 长整数型
- 置入代码 ({ 139, 69, 8, 139, 85, 12, 35, 69, 16, 35, 85, 20, 201, 194, 16, 0 })
- 返回 (0)
- .子程序 长整数位异或, 长整数型
- .参数 值1, 长整数型
- .参数 值2, 长整数型
- 置入代码 ({ 139, 69, 8, 139, 85, 12, 51, 69, 16, 51, 85, 20, 201, 194, 16, 0 })
- 返回 (0)
- .子程序 长整数位取反, 长整数型
- .参数 值, 长整数型
- 置入代码 ({ 139, 69, 8, 139, 85, 12, 247, 208, 247, 210, 201, 194, 8, 0 })
- 返回 (0)
- .子程序 CRC64, 长整数型, 公开
- .参数 数据, 字节集
- .局部变量 crc, 长整数型
- .局部变量 i, 整数型
- crc = -1
- .计次循环首 (取字节集长度 (数据), i)
- crc = 长整数位异或 (CRC64表格 [长整数位与 (长整数位异或 (crc, 数据 [i]), 255) + 1], 长整数位与 (长整数右移 (crc, 8), CRC64常数 [3]))
- .计次循环尾 ()
- 返回 (长整数位取反 (crc))
- .子程序 CRC64_文本型, 长整数型, 公开
- .参数 文本, 文本型
- 返回 (CRC64 (到字节集 (文本)))
复制代码 |
|