CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
IBM Rational 系统开发最佳实践工具包 WebSphere MQ 最佳实践 TOP 15
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  其他开发语言 >  汇编语言

关于汇编嵌入C的一些问题?

楼主myhouwei(myhouwei)2006-03-13 16:02:53 在 其他开发语言 / 汇编语言 提问

unsigned   short   ContribTem[2048]; //C中定义的数组  
  __asm  
  {  
  //现在我要将数组中的任意位置连续4个字(64BIT)存入MMX0,要怎么做  
  MOVQ   MMX0   ,   ????        
   
  } 问题点数:10、回复次数:7Top

1 楼myhouwei(myhouwei)回复于 2006-03-13 16:11:45 得分 0

上面写快了,多写了个X,MM0就是MMX寄存器  
  unsigned   short   ContribTem[2048]; //C中定义的数组  
  __asm  
  {  
  //现在我要将数组中的任意位置连续4个字(64BIT)存入MM0,要怎么做  
  MOVQ   MM0   ,   ????        
   
  }  
  Top

2 楼DelphiGuy()回复于 2006-03-13 21:13:11 得分 10

movq   mm0,   qword   ptr   ContribTem[xx]就可以了。  
   
   
  Top

3 楼myhouwei(myhouwei)回复于 2006-03-14 16:20:14 得分 0

那么反过来呢?  
  MOVQ   ????   ,   MM0    //数组的任意位置连续4个字Top

4 楼DelphiGuy()回复于 2006-03-14 21:17:56 得分 0

反过来也一样啊。  
  Top

5 楼myhouwei(myhouwei)回复于 2006-03-15 16:40:04 得分 0

好象不对,你这样做只是把ContribTem[xx]一个值存入MM0,我要做的是把ContribTem[xx]ContribTem[xx+1]ContribTem[xx+2]ContribTem[xx+3]一次存入MM0Top

6 楼DelphiGuy()回复于 2006-03-15 17:59:51 得分 0

在ASM中,ContribTem[xx]只代表一个地址。  
  movq   mm0,   qword   ptr   ContribTem[xx]就是把ContribTem[xx]开始地址的64-bit数据装入mm0。  
  只是x86   ASM中的下标地址始终是字节序数,ContribTem[i   *   sizeof(short)]代表数组中的ContribTem[i]。  
  Top

7 楼myhouwei(myhouwei)回复于 2006-03-21 16:33:30 得分 0

收到,结贴Top

相关问题

  • 怎么在C BUILDER 里嵌入汇编?
  • 如何在C#中嵌入汇编?
  • 请问linux 下的C如何嵌入汇编代码?
  • 入门问题:如何在C++中嵌入汇编?
  • Sco Unix下如何在C语言中嵌入汇编语句?
  • C++中嵌入汇编时如何调用类成员变量?
  • 在C++BUILDER6中如何嵌入汇编语言?(请教)
  • Unix C支持嵌入汇编语言吗?
  • 如何在C++Buildr中嵌入汇编读写端口
  • 在C中嵌入一段汇编,结果很奇怪!

关键词

  • asm
  • contribtem
  • 数组
  • MM0
  • movq
  • 存入
  • xx
  • 任意
  • mm0
  • 地址

得分解答快速导航

  • 帖主:myhouwei
  • DelphiGuy

相关链接

  • CSDN Blog
  • 技术文档
  • 代码下载
  • 第二书店
  • 读书频道

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo