|

12精币
|
RLE解码 | 整数型 | | |
读取位置 | 整数型 | | | | 行偏移 | 整数型 | | | | 宽度 | 整数型 | | | | 高度 | 整数型 | | | |
变量名 | 类 型 | 静态 | 数组 | 备 注 | 读地址 | 整数型 | | | 写地址 | 整数型 | | | 行长度 | 整数型 | | | 点阵长度 | 整数型 | | | 一字节 | 整数型 | | | 二比特 | 整数型 | | | 透明值 | 整数型 | | | 索引值 | 整数型 | | | 混合后 | 整数型 | | | 长度 | 整数型 | | | a | 整数型 | | | 行数 | 整数型 | | |
写地址 = 全局内存指针 写整数 (写地址, 131072 ) 写地址 = 写地址 + 4 写整数 (写地址, 0 )写地址 = 写地址 + 4 写整数 (写地址, 0 )写地址 = 写地址 + 4 写短整数 (写地址, 宽度 )写地址 = 写地址 + 2 写短整数 (写地址, 高度 )写地址 = 写地址 + 2 写短整数 (写地址, 2080 )写地址 = 写地址 + 2 读地址 = 行偏移 [高度 ] + 1 循环判断首 () 一字节 = was数据 [读地址 ] 读地址 = 读地址 + 1  二比特 = 汇编右移 (一字节, 6 )  判断 (二比特 = 0 )  如果 (位与 (一字节, 63 ) = 0 )    判断 (行长度 > 宽度 )    写地址 = 写地址 � �� (行长度 - 宽度 ) × 4     行长度 = 0     行数 = 行数 + 1     如果真 (高度 ≠ 行数 )     读地址 = 行偏移 [高度 - 行数 ] + 1         判断 (行长度 > 0 )    长度 = 宽度 - 行长度     计次循环首 (长度, )    写整数 (写地址, 0 )         写地址 = 写地址 + 4     计次循环尾 ()       行长度 = 0     行数 = 行数 + 1     如果真 (高度 ≠ 行数 )     读地址 = 行偏移 [高度 - 行数 ] + 1         判断 (行长度 = 0 且 was数据 [行偏移 [高度 - 行数 ] - 1 ] = 0 )    计次循环首 (宽度, )    写整数 (写地址, 0 )     写地址 = 写地址 + 4     计次循环尾 ()    行数 = 行数 + 1     如果真 (高度 ≠ 行数 )     读地址 = 行偏移 [高度 - 行数 ] + 1                     如果 (位与 (一字节, 32 ) = 32 )     透明值 = 位与 (一字节, 31 )    索引值 = was数据 [读地址 ]    读地址 = 读地址 + 1     混合后 = 混合透明 (颜色表32 [索引值 + 1 ], 透明值 × 8 )   写整数 (写地址, 混合后 )    行长度 = 行长度 + 1     写地址 = 写地址 + 4         透明值 = was数据 [读地址 ]     读地址 = 读地址 + 1     索引值 = was数据 [读地址 ]    读地址 = 读地址 + 1     混合后 = 混合透明 (颜色表32 [索引值 + 1 ], 透明值 × 8 )    计次循环首 (位与 (一字节, 31 ), )    写整数 (写地址, 混合后 )     写地址 = 写地址 + 4      行长度 = 行长度 + 1     计次循环尾 ()        判断 (二比特 = 1 )   计次循环首 (位与 (一字节, 63 ), )   索引值 = was数据 [读地址 ]   读地址 = 读地址 + 1   写整数 (写地址, 颜色表32 [索引值 + 1 ])   写地址 = 写地址 + 4    行长度 = 行长度 + 1   计次循环尾 () 判断 (二比特 = 2 )   索引值 = was数据 [读地址 ]  读地址 = 读地址 + 1   计次循环首 (位与 (一字节, 63 ), )  写整数 (写地址, 颜色表32 [索引值 + 1 ])   写地址 = 写地址 + 4    行长度 = 行长度 + 1   计次循环尾 () 判断 (二比特 = 3 )   长度 = 位与 (一字节, 63 ) 清零 (写地址, 长度 )  写地址 = 写地址 + 长度 × 4   行长度 = 行长度 + 长度       调试输出 (行数, 高度 ) 循环判断尾 (行数 ≠ 高度 )返回 (宽度 × 高度 × 4 + 18 )
会异常停止 ,易语言也不报错。大神帮忙看下哪里的问题!
|
|