yihui10 2017-06-15 07:53 采纳率: 0%
浏览 1246
已结题

vs2015中MMx指令集 总是提示错误

#define YUV422ToRGB32_MMX(out_RGB_reg,WriteCode)/

asm psubusb mm0, csMMX_16_b /* mm0 : Y -= 16 / /
asm psubsw mm1, csMMX_128_w /
mm1 : u -= 128 / /
asm movq mm7, mm0 /
asm psubsw mm2, csMMX_128_w /
mm2 : v -= 128 / /
asm pand mm0, csMMX_0x00FF_w /
mm0 = 00 Y6 00 Y4 00 Y2 00 Y0 / /
asm psllw mm1, 3 /
mm1 : u = 8 */ /
asm psllw mm2, 3 /
mm2 : v = 8 */ /
asm psrlw mm7, 8 / /
mm7 = 00 Y7 00 Y5 00 Y3 00 Y1 */
asm movq mm3, mm1 /
asm movq mm4, mm2 /

asm pmulhw mm1, csMMX_U_green_w / /* mm1 = u * U_green /
asm psllw mm0, 3 /
y*=8 / /
asm pmulhw mm2, csMMX_V_green_w /
mm2 = v * V_green / /
asm psllw mm7, 3 / /
y*=8 /
asm pmulhw mm3, csMMX_U_blue_w /
asm paddsw mm1, mm2 /
asm pmulhw mm4, csMMX_V_red_w /
asm movq mm2, mm3 /
asm pmulhw mm0, csMMX_Y_coeff_w /
asm movq mm6, mm4 /
asm pmulhw mm7, csMMX_Y_coeff_w /
asm movq mm5, mm1 /
asm paddsw mm3, mm0 / /
mm3 = B6 B4 B2 B0 /
asm paddsw mm2, mm7 /
mm2 = B7 B5 B3 B1 / /
asm paddsw mm4, mm0 / /
mm4 = R6 R4 R2 R0 /
asm paddsw mm6, mm7 /
mm6 = R7 R5 R3 R1 / /
asm paddsw mm1, mm0 /
mm1 = G6 G4 G2 G0 / /
asm paddsw mm5, mm7 / /
mm5 = G7 G5 G3 G1 /
asm packuswb mm3, mm4 /
mm3 = R6 R4 R2 R0 B6 B4 B2 B0 to [0-255] / /
asm packuswb mm2, mm6 /
mm2 = R7 R5 R3 R1 B7 B5 B3 B1 to [0-255] / /
asm packuswb mm5, mm1 /
mm5 = G6 G4 G2 G0 G7 G5 G3 G1 to [0-255] / /
asm movq mm4, mm3 /
asm punpcklbw mm3, mm2 / /
mm3 = B7 B6 B5 B4 B3 B2 B1 B0 /
asm punpckldq mm1, mm5 / /
mm1 = G7 G5 G3 G1 xx xx xx xx /
asm punpckhbw mm4, mm2 / /
mm4 = R7 R6 R5 R4 R3 R2 R1 R0 /
asm punpckhbw mm5, mm1 / /
mm5 = G7 G6 G5 G4 G3 G2 G1 G0 /
/*out
/
asm pcmpeqb mm2, mm2 /* mm2 = FF FF FF FF FF FF FF FF / /
asm movq mm0, mm3 /
asm movq mm7, mm4 /
asm punpcklbw mm0, mm5 / /
mm0 = G3 B3 G2 B2 G1 B1 G0 B0 /
asm punpcklbw mm7, mm2 /
mm7 = FF R3 FF R2 FF R1 FF R0 / /
asm movq mm1, mm0 /
asm movq mm6, mm3 /
asm punpcklwd mm0, mm7 / /
mm0 = FF R1 G1 B1 FF R0 G0 B0 /
asm punpckhwd mm1, mm7 /
mm1 = FF R3 G3 B3 FF R2 G2 B2 / /
asm WriteCode[out_RGB_reg], mm0 /
asm movq mm7, mm4 /
asm punpckhbw mm6, mm5 / /
mm6 = G7 B7 G6 B6 G5 B5 G4 B4 /
asm WriteCode[out_RGB_reg + 8], mm1 /
asm punpckhbw mm7, mm2 / /
mm7 = FF R7 FF R6 FF R5 FF R4 /
asm movq mm0, mm6 /
asm punpcklwd mm6, mm7 / /
mm6 = FF R5 G5 B5 FF R4 G4 B4 /
asm punpckhwd mm0, mm7 / /
mm0 = FF R7 G7 B7 FF R6 G6 B6 */
asm WriteCode[out_RGB_reg + 8 * 2], mm6 /
asm WriteCode[out_RGB_reg + 8 * 3], mm0

为什么总是提示
错误 C2059 语法错误:“__asm”

应该怎么修改 求大神讲解

  • 写回答

2条回答 默认 最新

  • threenewbee 2017-06-15 18:38
    关注
    评论

报告相同问题?

悬赏问题

  • ¥20 求数据集和代码#有偿答复
  • ¥15 关于下拉菜单选项关联的问题
  • ¥15 如何修改pca中的feature函数
  • ¥20 java-OJ-健康体检
  • ¥15 rs485的上拉下拉,不会对a-b<-200mv有影响吗,就是接受时,对判断逻辑0有影响吗
  • ¥15 使用phpstudy在云服务器上搭建个人网站
  • ¥15 应该如何判断含间隙的曲柄摇杆机构,轴与轴承是否发生了碰撞?
  • ¥15 vue3+express部署到nginx
  • ¥20 搭建pt1000三线制高精度测温电路
  • ¥15 使用Jdk8自带的算法,和Jdk11自带的加密结果会一样吗,不一样的话有什么解决方案,Jdk不能升级的情况