|
- .版本 2
- .支持库 BmpOperate
- .程序集 程序集1
- .子程序 _启动子程序, 整数型, , 请在本子程序中放置易模块初始化代码
- _临时子程序 () ' 在初始化代码执行完毕后调用测试代码
- 返回 (0) ' 可以根据您的需要返回任意数值
- .子程序 _临时子程序
- .局部变量 数据, 字节集
- .局部变量 位图, 位图
- .局部变量 比较结果, 文本型
- 数据 = 读入文件 (“in.bmp”)
- .如果真 (置入代码_位图_垂直镜像 (数据) = 假)
- 输出调试文本 (“处理失败:请确定 in.bmp 是否存在 且 数据正确。”)
- 结束 ()
- .如果真结束
- 写到文件 (“out1.bmp”, 数据)
- 位图.载入文件 (“in.bmp”)
- 位图 = 位图.镜像 (假, 真)
- 写到文件 (“out2.bmp”, 数据)
- .子程序 置入代码_位图_垂直镜像, 逻辑型, 公开, 将位图的 biHeight 正负值翻转改变像素排列顺序实现垂直镜像,具体请参阅相关资料。 (成功返回真,失败返回假)
- .参数 位图数据, 字节集, 参考, 注意本命令不会对所提交位图数据进行过多校验,用户必须执行保证该数据的正确性。
- 置入代码 ({ 83, 139, 69, 8, 11, 192, 117, 2, 235, 58, 139, 0, 11, 192, 117, 2, 235, 50, 139, 88, 4, 131, 251, 26, 115, 4, 51, 192, 235, 38, 131, 192, 8, 57, 88, 2, 116, 4, 51, 192, 235, 26, 102, 187, 66, 77, 102, 59, 24, 116, 4, 51, 192, 235, 13, 139, 88, 22, 247, 219, 137, 88, 22, 184, 1, 0, 0, 0, 91, 201, 194, 4, 0 })
- ' push ebx
- ' mov eax,[ebp+8]
- ' .if !eax
- ' jmp ASM_END
- ' .endif
- ' mov eax,[eax]
- ' .if !eax
- ' jmp ASM_END
- ' .endif
- ' mov ebx,[eax+4]
- ' .if ebx < 26
- ' xor eax,eax
- ' jmp ASM_END
- ' .endif
- ' add eax,8
- ' .if [eax+2] != ebx
- ' xor eax,eax
- ' jmp ASM_END
- ' .endif
- ' mov bx,19778
- ' .if bx != [eax]
- ' xor eax,eax
- ' jmp ASM_END
- ' .endif
- ' mov ebx,[eax+22]
- ' neg ebx
- ' mov [eax+22],ebx
- ' mov eax,1
- ' ASM_END:
- ' pop ebx
- ' leave
- ' retn 4
- 返回 (假)
复制代码 |
|