2159|0

61

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

急,请求帮忙! [复制链接]

因为我不懂得汇编代码,下面代码哪位高手能帮我翻译成C语言形式的吗,感激不尽!!谢谢      
                  push esi
                    push edi
                    push eax
                    push ebx
                    push ecx
                    push edx
                    push es
                    push ds
                   
                    mov ax,ds
                    mov es,ax

                    mov edi,pBitsDest
                    mov ecx,nHeight
        beginy:
                    push ecx
                    mov ecx,nWidth
                    mov ebx, row_pointers
                    mov esi,[ebx]
                    ;//偏移图片的左边列
                    mov eax,xSour
                    imul eax,4                ;//一个象素4个字节
                    add esi,eax               
        beginx:
                            ;//get alpla value
                            xor ebx,ebx
                            mov bl,[esi+3]       
                   
                            ;//blue
                            xor eax,eax
                            mov al,[esi+2]
                            imul ax,bx
                            not bl
                            xor edx,edx
                            mov dl,[edi];
                            imul dx,bx
                            add ax,dx
                            mov [edi],ah        ;//将结果返回*pBitsDest
                            not bl
                            inc edi
                            ;//green
                            xor eax,eax
                            mov al,[esi+1]
                            imul ax,bx
                            not bl
                            xor edx,edx
                            mov dl,[edi];
                            imul dx,bx
                            add ax,dx
                            mov [edi],ah        ;//将结果返回*pBitsDest
                            not bl
                            inc edi
                            ;//red
                            xor eax,eax
                            mov al,[esi]
                            imul ax,bx
                            not bl
                            xor edx,edx
                            mov dl,[edi];
                            imul dx,bx
                            add ax,dx
                            mov [edi],ah        ;//将结果返回*pBitsDest
                            inc edi
                            add esi,4

                            loop beginx
                    ;//后续对齐
                    add edi,nLineTailDest
                    sub row_pointers,4        ;//下一行

                    pop ecx
                    loop beginy

                    pop ds
                    pop es
                    pop edx
                    pop ecx
                    pop ebx
                    pop eax
                    pop edi
                    pop esi
点赞 关注

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/6 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表