首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • 编译器不支持的汇编指令,怎么办 [已结帖,结帖人:sping_karen]
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • sping_karen
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    • 结帖率:
    发表于:2008-08-20 18:20:39 楼主
    我的芯片提供了系列多媒体加速指令,但是EVC编译器不认识,请问我该怎样加到程序代码中使用
    急,求救
    50  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • intel_jeff
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-21 09:50:401楼 得分:5
    打EVC的SP,有可能会增加对这些指令的支持
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • sping_karen
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-21 15:44:352楼 得分:0
    能说详细点吗
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • shuiyan
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    • 3

    发表于:2008-08-21 18:09:103楼 得分:5
    一般不需要你自己做,询问原厂,会提供完善的lib库的。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • sping_karen
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-25 16:34:564楼 得分:0
    原厂的LIB库是LINUX的  GCC下可支持   
    WINCE的遍不过
    想在程序运行时动态生成二进制汇编代码 难度比较大
    不知道有谁做过没有  有没有什么参考
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • xdkui
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-25 22:43:435楼 得分:5
    没用过evc

    不可以嵌入汇编吗?如VS里的__asm
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • graduated
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-27 11:38:356楼 得分:5
    楼主做什么呢?
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • sping_karen
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-27 11:57:317楼 得分:0
    不是标准汇编,EVC编译器不认识,嵌入汇编也没有
    谁会动态生成二进制汇编代码
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • xdkui
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-27 12:55:588楼 得分:5
    那就直接用二进制, 比如ATL里的
    C/C++ code
    #pragma pack(push,1) struct _stdcallthunk { [color=#FF0000] DWORD m_mov; // mov dword ptr [esp+0x4], pThis // (esp+0x4 is hWnd) DWORD m_this; // Our CWindowImpl this pointer BYTE m_jmp; // jmp WndProc DWORD m_relproc; // relative jmp [/color] BOOL Init(DWORD_PTR proc, void* pThis) { m_mov = 0x042444C7; //C7 44 24 0C m_this = PtrToUlong(pThis); m_jmp = 0xe9; m_relproc = DWORD((INT_PTR)proc ((INT_PTR)this+sizeof(_stdcallthunk))); // write block from data cache and // flush from instruction cache FlushInstructionCache(GetCurrentProcess(), this, sizeof(_stdcallthunk)); return TRUE; } // some thunks will dynamically allocate the // memory for the code [color=#FF0000] void* GetCodeAddress() { return this; } [/color] }; #pragma pack(pop)
       
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • xiaoyatouzj
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-27 13:02:029楼 得分:5
    是啊  能详细点吗 ?谢谢
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • xdkui
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-27 13:28:4410楼 得分:7
    [code=C/C++]int _tmain(int argc, _TCHAR* argv[])
    {
        int i = 0;
        __asm
        {
            //mov eax, 3    B8 03 00 00 00
            _emit 0xB8
            _emit 0x03
            _emit 0x00
            _emit 0x00
            _emit 0x00
           
            mov i, eax
        }
        printf("%d\n", i);
    return 0;
    }[code]
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • xumercury
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-27 15:26:1111楼 得分:5
    装个ADS.看看会不会解决问题
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • mason__stone
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-29 12:30:2712楼 得分:8
    你是用mmx或者sse吧?
    可以在PB下面编译的,用生成的.obj在evc下链接就可以了。
    修改 删除 举报 引用 回复

    网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
    北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
    世纪乐知(北京)网络技术有限公司 提供技术支持
    Copyright © 2000-2008, CSDN.NET, All Rights Reserved