网站首页 > 易语言相关 > 易语言例程 正文
.版本 2
.程序集 窗口程序集_启动窗口
.程序集变量 目标位图, 整数型
.程序集变量 目标位图_hdc, 整数型
.程序集变量 目标位图_句柄, 整数型
.程序集变量 源位图, 整数型
.程序集变量 源位图_hdc, 整数型
.程序集变量 源位图_句柄, 整数型
.子程序 __启动窗口_创建完毕
.局部变量 BITMAPINFO, BITMAPINFO
.局部变量 位图句柄, 整数型
.局部变量 图形, GP图形
.局部变量 图像, GP图像
.局部变量 time, 整数型
.局部变量 位图, GP位图
Gdiplus初始化 ()
目标位图_hdc = CreateCompatibleDC (0)
BITMAPINFO.bmiHeader.biSize = 40
BITMAPINFO.bmiHeader.biBitCount = 32
BITMAPINFO.bmiHeader.biWidth = 1024
BITMAPINFO.bmiHeader.biHeight = 768
BITMAPINFO.bmiHeader.biPlanes = 1
BITMAPINFO.bmiHeader.biCompression = 0
目标位图_句柄 = CreateDIBSection (目标位图_hdc, BITMAPINFO, 0, 目标位图, 0, 0)
SelectObject (目标位图_hdc, 目标位图_句柄)
源位图_hdc = CreateCompatibleDC (0)
BITMAPINFO.bmiHeader.biSize = 40
BITMAPINFO.bmiHeader.biBitCount = 32
BITMAPINFO.bmiHeader.biWidth = 1024
BITMAPINFO.bmiHeader.biHeight = 768
BITMAPINFO.bmiHeader.biPlanes = 1
BITMAPINFO.bmiHeader.biCompression = 0
源位图_句柄 = CreateDIBSection (源位图_hdc, BITMAPINFO, 0, 源位图, 0, 0)
SelectObject (源位图_hdc, 源位图_句柄)
图像.创建自字节集 (#图片1)
图形.创建自DC (源位图_hdc)
图形.画图像缩放 (图像, 0, 0, 1024, 768)
图像.销毁 ()
图形.销毁 ()
time = 取启动时间 ()
.计次循环首 (10000, )
BitBlt (目标位图_hdc, 0, 0, 1024, 768, 源位图_hdc, 0, 0, #光栅运算_复制)
.计次循环尾 ()
输出调试文本 (取启动时间 () - time)
time = 取启动时间 ()
.计次循环首 (10000, )
iblit_SSE (目标位图, 4096, 源位图, 4096, 1024, 768, 4, 4096)
.计次循环尾 ()
输出调试文本 (取启动时间 () - time)
.子程序 iblit_SSE, 整数型
.参数 dst, 整数型
.参数 pitch1, 整数型, , 目标图片的宽度*4
.参数 src, 整数型
.参数 pitch2, 整数型, , 源图片的宽度*4
.参数 w, 整数型, , 图片的宽度
.参数 h, 整数型, , 图片的高度
.参数 pixelbyte, 整数型, , 每个像素占用多少字节
.参数 linesize, 整数型
' push ebp
' mov ebp , esp
置入代码 ({ 81, 139, 69, 28, 131, 125, 32, 1, 139, 77, 36, 15, 68, 77, 24, 137, 69, 28, 139, 69, 12, 41, 200, 137, 69, 252, 139, 69, 20, 41, 200, 137, 69, 20, 137, 200, 193, 248, 6, 137, 69, 36, 137, 200, 83, 193, 248, 2, 131, 225, 3, 131, 224, 15, 86, 137, 69, 32, 87, 137, 77, 12, 139, 117, 16, 139, 125, 8, 15, 24, 70, 64, 15, 24, 71, 64, 15, 24, 6, 15, 24, 7, 139, 69, 36, 193, 224, 3, 139, 93, 32, 139, 85, 12, 252, 15, 24, 6, 15, 24, 70, 64, 15, 24, 134, 128, 0, 0, 0, 15, 24, 134, 192, 0, 0, 0, 137, 193, 247, 217, 141, 52, 198, 141, 60, 199, 133, 192, 116, 99, 15, 24, 132, 206, 0, 1, 0, 0, 15, 24, 132, 206, 128, 0, 0, 0, 15, 111, 4, 206, 15, 111, 76, 206, 8, 15, 111, 84, 206, 16, 15, 111, 92, 206, 24, 15, 111, 100, 206, 32, 15, 111, 108, 206, 40, 15, 111, 116, 206, 48, 15, 111, 124, 206, 56, 15, 231, 4, 207, 15, 231, 76, 207, 8, 15, 231, 84, 207, 16, 15, 231, 92, 207, 24, 15, 231, 100, 207, 32, 15, 231, 108, 207, 40, 15, 231, 116, 207, 48, 15, 231, 124, 207, 56, 131, 193, 8, 117, 157, 15, 24, 6, 137, 217, 243, 165, 137, 209, 243, 164, 3, 125, 252, 3, 117, 20, 15, 24, 6, 255, 77, 28, 15, 133, 93, 255, 255, 255, 15, 174, 248, 15, 119, 95, 94, 49, 192, 91, 137, 236, 93, 194, 32, 0 })
返回 (0)
' push ecx
' mov eax , dword [ebp+1Ch]
' cmp dword [ebp+20h] , 00000001h
' mov ecx , dword [ebp+24h]
' cmove ecx , dword [ebp+18h]
' mov dword [ebp+1Ch] , eax
' mov eax , dword [ebp+0Ch]
' sub eax , ecx
' mov dword [ebp-04h] , eax
' mov eax , dword [ebp+14h]
' sub eax , ecx
' mov dword [ebp+14h] , eax
' mov eax , ecx
' sar eax , 00000006h
' mov dword [ebp+24h] , eax
' mov eax , ecx
' push ebx
' sar eax , 00000002h
' and ecx , 00000003h
' and eax , 0000000Fh
' push esi
' mov dword [ebp+20h] , eax
' push edi
' mov dword [ebp+0Ch] , ecx
' mov esi , dword [ebp+10h]
' mov edi , dword [ebp+08h]
' prefetchNTA byte [esi+00000040h]
' prefetchNTA byte [edi+00000040h]
' prefetchNTA byte [esi]
' prefetchNTA byte [edi]
' mov eax , dword [ebp+24h]
' shl eax , 00000003h
' mov ebx , dword [ebp+20h]
' mov edx , dword [ebp+0Ch]
' cld
' c: prefetchNTA byte [esi]
' prefetchNTA byte [esi+00000040h]
' prefetchNTA byte [esi+00000080h]
' prefetchNTA byte [esi+000000C0h]
' mov ecx , eax
' neg ecx
' lea esi , dword [esi+eax*8]
' lea edi , dword [edi+eax*8]
' test eax , eax
' je a
' b: prefetchNTA byte [esi+ecx*8+00000100h]
' prefetchNTA byte [esi+ecx*8+00000080h]
' movq mm0 , qword [esi+ecx*8]
' movq mm1 , qword [esi+ecx*8+08h]
' movq mm2 , qword [esi+ecx*8+10h]
' movq mm3 , qword [esi+ecx*8+18h]
' movq mm4 , qword [esi+ecx*8+20h]
' movq mm5 , qword [esi+ecx*8+28h]
' movq mm6 , qword [esi+ecx*8+30h]
' movq mm7 , qword [esi+ecx*8+38h]
' movntq qword [edi+ecx*8] , mm0
' movntq qword [edi+ecx*8+08h] , mm1
' movntq qword [edi+ecx*8+10h] , mm2
' movntq qword [edi+ecx*8+18h] , mm3
' movntq qword [edi+ecx*8+20h] , mm4
' movntq qword [edi+ecx*8+28h] , mm5
' movntq qword [edi+ecx*8+30h] , mm6
' movntq qword [edi+ecx*8+38h] , mm7
' add ecx , 00000008h
' jne b
' a: prefetchNTA byte [esi]
' mov ecx , ebx
' rep movsd
' mov ecx , edx
' rep movsb
' add edi , dword [ebp-04h]
' add esi , dword [ebp+14h]
' prefetchNTA byte [esi]
' dec dword [ebp+1Ch]
' jne c
' sfence
' emms
' pop edi
' pop esi
' xor eax , eax
' pop ebx
' mov esp , ebp
' pop ebp
' retn 0020h@1010795186
猜你喜欢
- 2022-04-26 易语言使用PDH(性能计数器) 监控CPU,内存,网络,磁盘
- 2020-05-22 小白易语言注册机视频教程合集
- 2020-05-05 一键备份易语言超级列表框数据
- 2020-04-23 易语言调用JsDroid2模块
- 2020-01-26 易语言ECC模块源码
- 2019-10-10 易语言多线程防崩溃例程
- 2019-09-02 易语言神奇网络验证系统
- 2019-09-02 易语言驱动开发教程(baby)
- 2019-08-25 易语言桌面透明背景时钟
- 2019-08-20 易语言多线程学习源码
欢迎 你 发表评论:
- 百度站内搜索
- 关注微信公众号
- 网站分类
-
- 网站公告
- 电子书书籍
- 程序员工具箱
- 编程工具
- 易语言相关
- 网络相关源码
- 图形图像源码
- 系统工具源码
- 易语言模块源码
- 易语言支持库
- 数据库类源码
- 易语言例程
- 易语言游戏开发
- 易语言模块
- 多媒体类源码
- 易语言资源网
- 易语言视频教程
- JS分析教程
- 易语言图文教程
- 易语言常见问题及笔记
- 工具源码
- 易语言版本
- 网络编程
- javascript
- PHP编程
- html
- 正则表达式
- 面试题
- nodejs
- 其它综合
- 脚本专栏
- python
- 按键精灵相关
- 按键精灵图文教程
- 按键精灵视频教程
- 按键精灵Q语言
- 按键精灵安卓版
- golang
- 游戏安全
- 火山相关
- 火山安卓软件
- 火山常见问题及笔记
- 火山安卓源码
- 火山视频教程
- 火山PC版本下载
- 火山PC视窗例程
- 互联网那些事
- 引流推广
- 项目揭秘
- 网络营销
- 营销软件
- QQ营销软件
- 娱乐软件
- 机器人插件
- 培训教程
- 技术教程
- 活动线报
- 数据库
- Redis
- Access
- MongoDB
- Mysql
- 问答
- 其它
- 易语言
- 需求
- 在线教程
- 多线程培训班
- 觅风易语言教程
- 模拟系列教程
- 集中营易语言教程
- 历史数据
- 随机tag










已有4位网友发表了看法:
易语言 评论于 [2020-08-17 18:23:01] 回复
bitblt易语言源码
易语言 评论于 [2020-08-17 18:58:26] 回复
bitblt易语言源码
安装依赖 评论于 [2020-08-17 19:12:14] 回复
bitblt易语言源码
易语言下载 评论于 [2022-01-28 20:04:08] 回复
易语言BitBlt