汇编MMX实现图片淡入淡出核心代码
计算机组成课程个人作业
参考:
https://blog.csdn.net/yangjianqiao0/article/details/69388595
https://blog.csdn.net/dahan_wangtao/article/details/1944153
核心代码
#include<iostream> using namespace std; __int64 i64_a[2],*p64=i64_a,test=1; unsigned char a[4]={2,2,2,2},b[4]={128,128,128,128},*pa=a,*pb=b; unsigned short step_now=15,step_all=32,stepMMXn[4],stepMMXl[4]; int main(){ // i64_a[0]=0; // i64_a[1]=1; // __asm("\ // mov p64,%eax\n\ // movq (%eax),%mm0\n\ // movq %mm0,8(%eax)\n\ // "); for(int i=0;i<4;i++){ stepMMXn[i]=step_now; stepMMXl[i]=32-step_now; } __asm("\ pxor %mm7,%mm7\n\ movd a,%mm0\n\ movd b,%mm1\n\ punpcklbw %mm7,%mm0\n\ punpcklbw %mm7,%mm1\n\ movq stepMMXl,%mm2\n\ movq stepMMXn,%mm3\n\ pmullw %mm2,%mm0\n\ pmullw %mm3,%mm1\n\ paddw %mm1,%mm0\n\ psrlw $5,%mm0\n\ packuswb %mm7,%mm0\n\ movd %mm0,a\n\ "); printf("%llx\n",test); printf("%d %d\n",sizeof(a),sizeof(test)); for(int i=0;i<4;i++) printf("a=%d,b=%d\n",a[i],b[i]); return 0; }
完整代码还在写
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix